In multiple projects we must store, aggregate, evaluate simple measurement values. One row typcially includes a time stamp, something plus some characteristics towards the value. In certain programs we wish to store 1000 values per second and much more. These values mustn't simply be placed but additionally erased in the same rate, because the duration of something is fixed to some year approximately (in various aggregation steps, we don't store 1000/s for the entire year).
So far, we've developped different solutions. One according to Firebird, one on Oracle and something on some self-made storage mechanism. But they're are not so satisfying.
Both RDBMS solutions cannot handle the preferred data flow. On top of that, the programs that provide the values (e.g. device motorists) can't be easily mounted on databases, the place claims are cumbersome. And lastly, while getting an SQL interface towards the information is strongly preferred, typical critiques are difficult to formulate in SQL and slow within the execution. E.g. discover the maximum value as time passes stamp per fifteen minutes for those dimensions throughout the final month.
The self-made solution are designed for the insertion rate and it has a customer-friendly API to get it done, however it is not just like a query language and can't be utilised by other programs via some standard interface e.g. for confirming.
The very best solution during my dreams will be a database system that:
- comes with an API for extremely fast insertion
- has the capacity to remove/truncate the values within the same speed
- supplies a standard SQL interface with specific support for typical time series data
Are you aware some database which comes near individuals needs or can you approach the issue in different ways?
That's, however, a serious data rate that you're dealing with. (Less than as much as sub-atomic physics at CERN, but headed for the reason that general direction.)
Fair disclosure: Sometimes for IBM around the Informix DBMS, though this is not on the TimeSeries DataBlade by itself.
just time apart, sample in mysql base table: table_title archive table by month: table_title_2011_01, ... table_title_2011_11
As Jonathan Leffler stated, you should attempt Informix Timeseries feature. It's incorporated in most models of Informix at no additional charge. You are able to have a look in the TimeSeries functions it supports:
You have access to the information through sql functions or virtual view connects, you may also place in to the view.