Kudu与Hbase
- Hbase是列族存储,一般情况下定义一个列族,然后列族中多个列,这样会更加接近于行存储,schema的定义比较宽松,可以随时添加列;Kudu是真正的列式存储,而且schema的定义比较严格
- 底层的存储实现不同
- Hbase随机读写速度快,但scan性能一般;Kudu支持随机读写的情况下,scan速度快。所以在支持OLTP的情况下又要支持OLAP(scan)的话,可以尝试Kudu;
- 有人做过benchmark,impala+parquet vs impala+kudu,得到结果是,impala+kudu只慢了一点,但kudu还支持在线随机读写;parquet不支持在线随机读写,链接
- HDFS scan快,但不能随机读写;
Hbase支持随机读写,但scan慢;
Kudu支持随机读写,但性能比Hbase差点,同时scan速度比HDFS慢,但比Hbase快,所以Kudu是一个介于HDFS和Hbase的方案。(当然,HDFS是一个分布式文件系统,Kudu是一个分布式列式存储引擎,不是同一类系统,其实不能直接对比)