实时分析时间序列数据库

inn6fuwd  于 2021-06-10  发布在  Hbase
关注(0)|答案(3)|浏览(480)

我正在寻找一个分布式的时间序列数据库,它是免费使用的集群设置模式和生产准备加上它必须适合在hadoop生态系统。
我有一个物联网项目,基本上是大约15万个传感器,每10分钟或1小时发送一次数据,所以我尝试查看时间序列数据库,它有一些有用的功能,比如聚合度量、下采样、预聚合(汇总)。我在这个谷歌样式表文档时间序列数据库比较中发现了这个比较。
我已经测试了opentsdb,hbaserowkey的数据模型非常适合我的用例:但是我的用例需要开发的功能有:
聚合倍数指标
进行汇总
我还测试了keirosdb,它是opentsdb的一个分支,有一个更丰富的api,它使用cassandra作为后端存储,事情是他们的api做了我所期待的所有事情,比如下采样汇总查询多个度量等等。
我已经测试了warp10.io和apachephoenix,我在这里读到了hortonworks链接,它将被ambari metrics使用,所以我假设它也非常适合时间序列数据。
我的问题是,到目前为止,对于所有类型的请求,什么样的时间序列数据库能够在1s以下对请求性能进行实时分析?例如:我们希望将50个传感器在5年内发送的聚合数据的平均值按月份重采样?
我假设这样的请求不能在1秒内完成,所以我相信对于这样的请求,我们需要一些汇总/预聚合机制,但我不太确定,因为有很多工具,我无法决定哪一个最适合我的需要。

yshpjwxd

yshpjwxd1#

我是曲速10的领头羊,所以我的回答可能被认为是固执己见。
考虑到您的预计数据量,150k个传感器每10分钟发送一次数据,平均每秒250个数据点,在5年的时间内小于40b。这样一个卷可以很容易地安装在一个简单的warp10单机版上,如果以后需要更大的基础设施,可以迁移到基于hadoop的分布式warp10上。
在请求方面,如果您的数据已经重新采样,那么为50个传感器获取5年的每月数据仅为3000个数据点,warp 10可以在不到1秒的时间内完成这项工作,而执行自动汇总只是以每月的方式安排warpscript代码的问题,没有什么特别之处。
最后,在与hadoop生态系统的集成方面,warp10在pig、spark、flink和storm中集成了warpscript语言。使用warp10inputformat,您可以从warp10平台获取数据,也可以使用任何其他inputformat加载数据,然后使用warpscript对其进行操作。

vi4fp9gy

vi4fp9gy2#

对于实时分析,您可以尝试druid,这是一个由apache维护的开源项目,或者您也可以查看专门用于iot的数据库:griddb和cratedb。最好的方法是自己测试这些数据库,看看它们是否适合您的需要。您还可以将这些数据库作为接收器连接到kafka。
在处理物联网项目时,您需要预测未来是否需要维护大型数据集,或者是否对降采样数据感到满意。一些tsdb有很好的压缩能力,比如xdb,但是其他的可能不能扩展到超过几十兆字节,所以如果你认为你需要扩展到更大的规模,也可以找一个具有扩展架构的。

zi8p0yeb

zi8p0yeb3#

在ovh,我们大量使用依赖warp10/hbase的@ovhmetrics,我们使用opentsdb/warpscript/promql/…提供协议抽象。。。
我对warp10不感兴趣,但它给我们带来了巨大的成功。无论是对伸缩性的挑战,还是对warpscript可以涵盖的用例。
大多数时候,我们甚至没有利用hadoop/flink集成,因为我们的客户需求可以通过实时warpscript api轻松解决。

相关问题