Cassandra 实时分析时间序列数据库

Cassandra 实时分析时间序列数据库,cassandra,hbase,iot,phoenix,opentsdb,Cassandra,Hbase,Iot,Phoenix,Opentsdb,我正在寻找一个分布式时间序列数据库,它可以在集群设置模式下免费使用,并且可以生产,而且它必须很好地适应hadoop生态系统 我有一个物联网项目,基本上是大约150k个传感器,每10分钟或1小时发送一次数据,所以我尝试查看时间序列数据库,它有一些有用的功能,比如聚合度量、下采样、预聚合(汇总)。我在这个谷歌样式表文档中发现了这种比较 我已经测试了Opentsdb,hbaserowkey的数据模型非常适合我的用例:但是需要为我的用例开发的功能有: 聚合倍数度量 汇总 我还测试了keirosDB,

我正在寻找一个分布式时间序列数据库,它可以在集群设置模式下免费使用,并且可以生产,而且它必须很好地适应hadoop生态系统

我有一个物联网项目,基本上是大约150k个传感器,每10分钟或1小时发送一次数据,所以我尝试查看时间序列数据库,它有一些有用的功能,比如聚合度量、下采样、预聚合(汇总)。我在这个谷歌样式表文档中发现了这种比较

我已经测试了Opentsdb,hbaserowkey的数据模型非常适合我的用例:但是需要为我的用例开发的功能有:

  • 聚合倍数度量
  • 汇总
我还测试了keirosDB,它是opentsdb的一个分支,具有更丰富的API,它使用Cassandra作为后端存储。事实上,他们的API实现了我所期望的所有功能,如查询多个指标的下采样汇总等

我已经测试了Warp10.io和ApachePhoenix,我在这里读到它将被Ambari Metrics使用,所以我假设它也非常适合时间序列数据

我的问题是,到目前为止,对于所有类型的请求,在请求性能低于1S的情况下进行实时分析的最佳时间序列数据库是什么?例如:我们希望5年内50个传感器发送的聚合数据的平均值按月重新采样


我认为这样的请求不能在1秒内完成,所以我相信对于这样的请求,我们需要一些汇总/预汇总机制,但我不太确定,因为有很多工具,我无法决定哪一个最适合我的需要。

我是Warp 10的负责人,所以我的回答可以被认为是自以为是的

考虑到您的预计数据量,150k传感器每10分钟发送一次数据,平均每秒250个数据点,在5年内不到40B。这样的卷可以轻松地安装在简单的Warp 10单机版上,如果以后需要更大的基础设施,可以迁移到基于Hadoop的分布式Warp 10

就请求而言,如果您的数据已经重新采样,那么为50个传感器获取5年的每月数据只需要3000个数据点,Warp 10可以在不到1秒的时间内完成这项工作,而进行自动汇总只是以每月的方式安排WarpScript代码的问题,这一点也不奇怪


最后,在与Hadoop生态系统的集成方面,Warp 10在Pig、Spark、Flink和Storm中集成了WarpScript语言。使用Warp10InputFormat,您可以从warp10平台获取数据,也可以使用任何其他InputFormat加载数据,然后使用WarpScript对其进行操作。

我是warp10的负责人,因此我的回答可以被认为是自以为是

考虑到您的预计数据量,150k传感器每10分钟发送一次数据,平均每秒250个数据点,在5年内不到40B。这样的卷可以轻松地安装在简单的Warp 10单机版上,如果以后需要更大的基础设施,可以迁移到基于Hadoop的分布式Warp 10

就请求而言,如果您的数据已经重新采样,那么为50个传感器获取5年的每月数据只需要3000个数据点,Warp 10可以在不到1秒的时间内完成这项工作,而进行自动汇总只是以每月的方式安排WarpScript代码的问题,这一点也不奇怪


最后,在与Hadoop生态系统的集成方面,Warp 10在Pig、Spark、Flink和Storm中集成了WarpScript语言。使用Warp10InputFormat,您可以从Warp 10平台获取数据,也可以使用任何其他InputFormat加载数据,然后使用WarpScript对其进行操作。

在OVH,我们大量使用依赖Warp10/HBase的@OvhMetrics,我们使用OpenTSDB/WarpScript/PromQL/…提供协议抽象

我对Warp10不感兴趣,但它为我们带来了巨大的成功。无论是在缩放挑战上,还是在WarpScript可以涵盖的用例中


大多数时候,我们甚至没有利用hadoop/flink集成,因为我们的客户需求可以通过实时WarpScript API轻松解决。

在OVH,我们大量使用依赖于Warp10/HBase的@OvhMetrics,我们使用OpenTSDB/WarpScript/PromQL/…提供协议抽象

我对Warp10不感兴趣,但它为我们带来了巨大的成功。无论是在缩放挑战上,还是在WarpScript可以涵盖的用例中


大多数情况下,我们甚至没有利用hadoop/flink集成,因为我们的客户需求可以通过实时WarpScript API轻松解决。

对于实时分析,您可以尝试,由Apache维护的开源项目,或者您也可以查看物联网专用数据库:和。最好的方法是自己测试这些数据库,看看它们是否适合您的需要。您还可以将这些数据库作为接收器连接到Kafka


在处理物联网项目时,您需要预测未来是否需要维护大型数据集,或者您是否对降采样数据感到满意。一些TSDB有很好的压缩能力,比如XDB,但是其他的可能无法扩展到数十TB以上,所以如果您认为需要进行大规模扩展,那么也可以寻找一个具有横向扩展架构的TSDB

对于实时分析,您可以尝试,一个由Apache维护的开源项目,或者您也可以查看专门用于IoT的数据库:和。最好的方法是自己测试这些数据库,看看它们是否适合您的需要。您还可以将这些数据库作为接收器连接到Kafka

在处理物联网项目时,您需要预测未来是否需要维护大型数据集,或者您是否对降采样数据感到满意。一些TSDB有很好的压缩能力,比如XDB,但其他的可能无法扩展到数十TB以上,所以如果您认为需要进行大规模扩展,那么也可以寻找一个具有横向扩展架构的TSDB