实时分析时间序列数据库

问题描述 投票:2回答:2

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

我有一个基本上大约150k传感器的IOT项目,它每10分钟或1小时发送一次数据,所以我试着看看时间序列数据库,它具有聚合度量,下采样,预聚合(滚动 - 我已经在这个谷歌样式表文件time series database comparative中找到了这种比较。

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

  • 汇总多个指标
  • 汇总

我已经测试了keirosDB,这是一个带有更丰富API的opentsdb的分支,它使用Cassandra作为后端存储,事实是他们的API完成了我所寻找的下采样汇总查询倍数指标等等。

我已经测试了Warp10.io和Apache Phoenix,我在这里读过Hortonworks link它将被Ambari Metrics使用,所以我认为它也非常适合时间序列数据。

我的问题是截至目前为止,对于所有类型的请求,请求在1S以下的性能进行实时分析的最佳时间序列数据库示例:我们希望50个传感器在5年内重新采样的聚合数据的平均值由几个月?

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

cassandra hbase iot phoenix opentsdb
2个回答
5
投票

我是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,您可以从Warp 10平台获取数据,或者您可以使用任何其他InputFormat加载数据,然后使用WarpScript对其进行操作。


0
投票

在OVH,我们是@OvhMetrics的重度用户,它依赖于Warp10 / HBase,我们使用OpenTSDB / WarpScript / PromQL /提供协议抽象...

我对Warp10不感兴趣,但它对我们来说非常成功。关于扩展挑战和WarpScript可以涵盖的用例。

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


0
投票

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

在处理物联网项目时,您需要预测将来是否需要维护大型数据集,或者您对下采样数据感到满意。有些TSDB具有良好的压缩功能,例如InfluxDB,但其他TSDB可能无法扩展到超过数十TB,所以如果您认为需要扩展大,那么也可以选择具有横向扩展架构的版本。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.