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 架构的需求。