Kudu(分布式数据存储引擎)
Kudu是cloudera开源的运行在hadoop平台上的列式存储系统,拥有Hadoop生态系统应用的常见技术特性,运行在一般的商用硬件上,支持水平扩展,高可用。
kudu 定位是 「Fast Analytics on Fast Data」,是一个既支持随机读写、又支持 OLAP 分析的大数据存储引擎。
原数据存储于HDFS或HBase都有优缺点:
- 直接存放于HDFS中,适合离线分析,却不利于记录级别的随机读写。
- 直接将数据存放于HBase/Cassandra中,适合记录级别的随机读写,对离线分析却不友好。
1、基本概念
Table
table 是数据存储在 Kudu 的位置,具有 schema 和全局有序的 primary key。table 被分成称为 tablets 的 segments。
Tablet
一个 tablet 是一张 table 连续的 segment,与其它数据存储引擎或关系型数据库中的 partition(分区)相似。给定的 tablet 冗余到多个 tablet 服务器上,并且在任何给定的时间点,其中一个副本被认为是 leader tablet。任何副本都可以对读取进行服务,并且写入时需要在为 tablet 服务的一组 tablet server之间达成一致性。
Tabl