是否有一个强大的数据库系统的时间序列数据? [英] Is there a powerful database system for time series data?

查看:111
本文介绍了是否有一个强大的数据库系统的时间序列数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在多个项目中,我们必须存储,聚合,评估简单的测量值。一行典型地包括时间戳,值和值的一些属性。在某些应用中,我们希望每秒存储1000个值。这些值不仅必须插入,而且必须以相同的速率删除,因为值的生命期限为一年左右(在不同的聚合步骤中,我们不会在整年存储1000 / s)。

In multiple projects we have to store, aggregate, evaluate simple measurement values. One row typcially consists of a time stamp, a value and some attributes to the value. In some applications we would like to store 1000 values per second and more. These values must not only be inserted but also deleted at the same rate, since the lifetime of a value is restricted to a year or so (in different aggregation steps, we do not store 1000/s for the whole year).

到目前为止,我们已经开发了不同的解决方案。一个基于Firebird,一个基于Oracle,一个基于一些自制存储机制。但这些都不是非常令人满意的解决方案。

Until now, we have developped different solutions. One based on Firebird, one on Oracle and one on some self-made storage mechanism. But none of these are very satisfying solutions.

两个RDBMS解决方案都无法处理所需的数据流。除此之外,传递值(例如设备驱动程序)的应用程序不能轻易地附加到数据库,insert语句很繁琐。最后,尽管拥有数据的SQL接口是强烈期望的,但典型的评估很难在SQL中进行表达,并且执行速度较慢。例如。

Both RDBMS solutions cannot handle the desired data flow. Besides that, the applications that deliver the values (e.g. device drivers) cannot be easily attached to databases, the insert statements are cumbersome. And finally, while having an SQL interface to the data is strongly desired, typical evaluations are hard to formulate in SQL and slow in the execution. E.g. find the maximum value with time stamp per 15 minutes for all measurements during the last month.

自制解决方案可以处理插入率,并提供客户友好的API做它,但它没有像查询语言,并且不能由其他应用程序通过一些标准接口使用例如

The self-made solution can handle the insertion rate and has a client-friendly API to do it, but it has nothing like a query language and cannot be used by other applications via some standard interface e.g. for reporting.

我的梦想中的最佳解决方案是数据库系统:

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


  • 提供了一个标准的SQL接口,可以用来快速插入。
  • 具体支持典型的时间序列数据
  • has an API for very fast insertion
  • is able to remove/truncate the values in the same speed
  • provides a standard SQL interface with specific support for typical time series data

你知道一些数据库接近这些要求,或者你会以不同的方式处理问题?

Do you know some database that comes near those requirements or would you approach the problem in a different way?

推荐答案

大多数其他答案似乎提到基于SQL的数据库。

Most other answers seem to mention SQL based databases. NoSQL based databases are far superior at this kind of thing.

一些开源时间序列数据库:

Some Open source time-series databases:

  • https://prometheus.io - Monitoring system and time series database
  • http://influxdb.com/ - time series database with no external dependencies (only basic server is open-source)
  • http://square.github.io/cube/ - Written ontop of MongoDB
  • http://opentsdb.net/ - Written on top of Apache HBase
  • https://github.com/kairosdb/kairosdb - A rewrite of OpenTSDB that also enables using Cassandra instead of Hadoop
  • http://www.gocircuit.org/vena.html - A tutorial on writing a substitute of OpenTSDB using Go-circuits
  • https://github.com/rackerlabs/blueflood - Based on Cassandra

基于云端:

  • https://www.tempoiq.com

这篇关于是否有一个强大的数据库系统的时间序列数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆