我正在寻找一个分布式时间序列数据库,该数据库可以在群集设置模式和生产就绪中自由使用,并且必须非常适合hadoop生态系统。
我有一个基本上大约150k传感器的IOT项目,它每10分钟或1小时发送一次数据,因此我试图查看具有有用功能的时间序列数据库,如聚合度量,下采样,前-aggregate(roll-ups)我在这个Google样式表文档time series database comparative中找到了这个比较。
我测试了Opentsdb,hbaserowkey的数据模型非常适合我的用例:但是需要为我的用例开发的函数是:
我已经测试了keirosDB,这是一个带有更丰富API的opentsdb的分支,它使用Cassandra作为后端存储,事实是他们的API完成了我所寻找的下采样汇总查询倍数指标等等。
我测试了Warp10.io和Apache Phoenix,我在这里阅读Hortonworks link它将被Ambari Metrics使用,所以我认为它也非常适合时间序列数据。
我现在的问题是,对于所有类型的请求,请求在1S以下的性能进行实时分析的最佳时间序列数据库示例:我们希望50个传感器发送的聚合数据的平均值按月重新抽样5年?
我认为这样的请求不能在1S下完成,所以我相信这些请求我们需要一些汇总/预聚合机制,但我不太确定,因为有很多工具出来在那里,我无法决定哪一个最适合我的需要。
答案 0 :(得分: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对其进行操作。
答案 1 :(得分:0)
在OVH,我们是@OvhMetrics的重度用户,它依赖于Warp10 / HBase,我们使用OpenTSDB / WarpScript / PromQL / ...提供协议抽象。
我对Warp10不感兴趣,但它对我们来说非常成功。关于扩展挑战和WarpScript可以涵盖的用例。
大多数情况下,我们甚至不利用hadoop / flink集成,因为使用实时WarpScript API可以轻松解决客户需求。
答案 2 :(得分:0)