The time-series database systems provide various features based on time such as calculating at a high speed, executing query analysis from continuous values. Time-series databases are associated with industrial applications. They can store values from sensors. Compression algorithms may be used to manage the data. The design of these time series systems uses time as a key index which makes the difference from the relational databases. A use-case of using time-series database system can be data storage of CPU utilization. The data store will have the utilization percentage and a timestamp. The application created for these purposes can search differently. These databases can create, read, update and delete the time-value pairs. Other features are calculations, interpolation, filtering, analysis. Some of the use-cases of Time Series Database (TSDB) is for storing data from the Internet of Things (IoT), smart devices, automobile, financial services, risk analysis, e-commerce and marketing and so on.
It’s feature include timestamp and different types of sampling frequency. Sampling frequency can be periodic time sampling frequency or discrete sampling. The requirements for a database that stores data recorded as a time series are as follows :
- In-memory for value alerting
- In-memory for trend alerting
- In-memory for applications and dashboards
- Fast access for real-time analytics (also machine learning, business intelligence)
- High concurrency for real-time analytics
- High capacity
- Standard SQL functions
- Custom time-series functions
The character of the time series database is that clients are not just requesting to process time-series data, but also does data insertion. As the number of IoT devices is rapidly increasing, Time Series Database (TSDB) gaining more importance to meet the need for high-performance data insertion from the client. It is a challenge that data needs to be compressed in real-time. Of course, the system needs standard SQL and flexible SQL query for receiving the results while inserting tens of thousand data per second. But it is better to have partition pruning for improvement of the performance in the context of real-time data analysis. There is no database on the market which can satisfy all the requirements and that is why new solutions are continuously developing. Druid, InfluxDB, OpenTSDB, Graphite, are examples of open source Time Series Database (TSDB).
The open-source movement centred in the NoSQL movement, and it is not astonishing to find most of the time series databases are based on NoSQL. MemSQL is in the group of databases called NewSQL.