Is there a powerful database system for time series data?

In several projects, we must store, aggregate, evaluate simple measurement values. A single line typically consists of a timestamp, value, and some value attributes. In some applications, we would like to save 1000 values ​​per second or more. These values ​​should not only be inserted, but also deleted at the same speed, since the service life of the value is limited to a year or so (at different stages of aggregation we do not store 1000 / s throughout the year).

So far, we have developed various solutions. One is based on Firebird, one on Oracle and one on some do-it-yourself storage engine. But none of them is a very satisfactory solution.

Both RDBMS solutions cannot process the required data stream. In addition, applications that deliver values ​​(such as device drivers) cannot be easily tied to databases; insert instructions are cumbersome. And finally, with an SQL interface for data, it is imperative that typical estimates are difficult to formulate in SQL and slow down execution. For example. Find the maximum value with a time stamp of 15 minutes for all measurements in the last month.

A home-made solution can handle input speed and has a client API for this, but has nothing to do with the query language and cannot be used by other applications through some standard interface, for example. for reporting.

The best solution in my dreams would be a database system that:

  • has an API for very quick insertion
  • able to delete / truncate values ​​at the same speed
  • provides a standard SQL interface with specific support for typical time series data

Do you know some database that approaches these requirements, or will you approach the problem differently?

+58
performance database time-series
Jan 11 '12 at 8:45
source share
7 answers

Most other answers mention SQL-based databases. NoSQL-based databases are far superior to such things.

Some open source time series databases:

Cloud based:

+37
May 20 '13 at 15:30
source share

infuxdb :: An open source distributed time series database with no external dependencies.

+8
Mar 12 '14 at 20:18
source share

Consider the IBM Informix Dynamic Server with TimeSeries DataBlade.

This, however, is the extreme data rate with which you work. (Not quite up to subatomic physics at CERN, but headed in that general direction.)




Fair disclosure: I work for IBM on Informix DBMS, although not on DataSlay TimeSeries as such.

+2
Jan 15 '12 at 7:52
source share
+1
Jan 11 2018-12-12T00:
source share

You can try HDF5 for time series data. It is very fast for such applications.

+1
Aug 02 2018-12-12T00:
source share

As Jonathan Leffler said, you should try the Informix Timeseries feature. It is included in all Informix editions at no extra charge. You can take a look at the supported TimeSeries features:

IBM Informix SQL Procedure Time Series

You can access data through sql functions or virtual browsing interfaces, you can even insert them into a view.

0
Jan 16 2018-12-12T00:
source share

just time, sample in mysql base table: table_name archive of the table by month: table_name_2011_01, ... table_name_2011_11

-5
Jan 11 2018-12-12T00:
source share



All Articles