Companies are constantly looking for ways to make solutions work better and smarter, accomplishing this by tracking the performance of each of the components underlying its solution.
All this critical performance data has a time stamp and a value – also known as time series data.
DBTA recently held a webinar with Anais Dotis-Georgiou, developer advocate at InfluxData, and Katy Farmer, DevRel at InfluxData, who discussed why companies should use a Time Series Database (TSDB) for your important Times Series Data and not a traditional datastore.
Time series data is a series of data points ordered in time, Dotis-Georgiou and Farmer explained. Characteristics of such data includes high volume, value increased by the timestamp, and its more valuable as a dataset than a single point.
Time series databases offer scalability, usability, and specialty capabilities. It can be used for forecasting, the Internet of Things (IoT), analytics, and devOps, Dotis-Georgiou and Farmer said.
In Vappar, we are developing IoT systems and providing services to our clients since 2015 and for this purpose we test different time series databses. We use “Time Scale DB” for our data because our main system was working in PostgreSQL. Following is the tweet that I post in 2020 when we first test Time Scale DB.
Use @TimescaleDB today.
Size in #Timescale #DB is = 24KB
Size in Simple PostgreSQL = 166MB
This is the record for 1000000 rows
etch time-based data, we have a 50% to 200% difference depends on the query.#Database @ConsultThings— Umair Iftikhar (@UmairUmi786) March 3, 2020
After we start looking at different Time Series Databases. Time Series databases specialize in higher writes with eventual consistency, even across distributed systems.
Interacting with time series data should be easy. Modular tools allow for a customizable and specific architecture. Specialized query languages to interact w/data in the context of time.
We also test InfluxDB. It is a time-series database built from the ground up to handle high write and query loads. The platform provides a custom high performance data store written specifically for time-stamped data, (DevOps monitoring, application metrics, IoT sensor data, & real-time analytics). And it offers a SQL-like query language for interacting with data (InfluxQL).
If we talk about performance, we can check the great TimescaleDB comparison blog. There you have a detailed comparison for performance between both databases with charts and metrics. Let’s see some of the most important information from this blog.
If your data fits in the InfluxDB data model, and you don’t expect to change in the future, then you should consider using InfluxDB as this model is easier to get started with, and like most databases that use a column-oriented approach, offers better on-disk compression than PostgreSQL and TimescaleDB.
However, the relational model is more versatile and offers more functionality, flexibility, and control than the InfluxDB model. This is especially important as your application evolves. And when planning your system you should consider both its current and future needs.