3

对于需要快速分析的物联网传感器数据(例如机器人技术),Apache Kudu 与 InfluxDB 相比如何?

Kudu 最近发布了 v1.0 关于 Kudu 如何处理以下问题我有几个具体的问题:

  1. 分片?
  2. 数据保留策略(将数据保留指定数量的数据点或时间,然后聚合/丢弃数据)?
  3. 是否有汇总/聚合功能(例如将 1 秒间隔数据转换为 1 分钟间隔数据)?
  4. 是否支持连续查询(即数据的物化视图 - 查询以持续查看 60 秒)?
  5. 数据在磁盘和内存之间是如何存储的?
  6. 可以从不规则的时间序列中得出规则的时间序列(将不规则的事件数据转换为规则的时间间隔)吗?

Kudu 和 InfluxDB 之间还有其他明显的优势和/或劣势吗?

4

1 回答 1

4

Kudu 是一个比 InfluxDB 低得多的数据存储。它更像是一个分布式文件系统,提供一些类似数据库的功能,而不是一个完整的数据库。它目前依赖于 Impala 等查询引擎来查找存储在 Kudu 中的数据。

Kudu也相当年轻。有可能构建一个时间序列数据库,将 kudu 作为其下的分布式存储,但目前最接近的实现是这个概念验证项目

至于你的问题的答案。

1) Kudu 将数据存储在 tablet 中,并提供两种数据分区方式:Range Partitions 和 Hash based Partitioning

2),虽然如果数据是用范围分区构建的,那么删除一个 tablet 应该是一种有效的操作(类似于 InfluxDB 在删除数据时删除整个分片的方式)。

3) 与 Kudu 一起工作的查询引擎能够做到这一点,例如 impala 或 spark。

4) Impala 确实支持视图

5)数据以类似于 Parquet 的列格式存储,但是 Kudu 的最大卖点是 Kudu 允许列数据是可变的,这对于当前的 parquet 文件来说是非常困难的。

6) 虽然我确信您可以使用 spark 或 impala 来执行此操作,但它不是内置功能。

Kudu 仍然是一个新项目,它并不是真正旨在与 InfluxDB 竞争,而是为像 InfluxDB 这样的服务提供高度可扩展和高性能的存储层。将数据附加到类似 parquet 的数据结构的能力确实令人兴奋,因为它可以消除对 lambda 架构的需求。

于 2016-12-03T07:08:48.927 回答