kudu数据库个⼈简单的总结
1.kudu事物
strong的事务,kudu的事务和架构受spanner和calvin系统的启发 Transaction Semantics ( 事务语义 )
不⽀持多⾏事物。
2.查询条件关联语句,应⽤场景,性能测试
创建关联表
CREATE TABLE spark_kudu_test(id1 int, id2 int, id3 string) USING org.apache.kudu.spark.kudu OPTIONS("kudu.master"
"node1:7051,node2:7051,node3:7051","kudu.table" "kudu_test");
应⽤场景
适⽤于既有随机访问,也有批量数据扫描的复合场景
适⽤于⾼计算量的场景
充分利⽤⾼性能存储设备
⽀持数据更新,避免数据反复迁移
⽀持跨地域的实时数据备份和查询
性能测试
天级别读:源数据2.8亿,541.7 G,耗时10min,平均46.6w条/s
数据库简单吗⼩时级别写
源数据2000W⾏,38G,耗时1.4min,平均23w条/s
天级别更新列:
源数据4.74亿⾏,10个新列,耗时17min,平均46.5w条/s (其中包括读800G的text格式hive表的时间,真实插⼊时间更少)
3.缺陷
随机更新会变慢:HBase可以不⽤扫描硬盘进⾏随机更新,⽽Kudu需要在更新之前进⾏关键值查,在插⼊前进⾏Bloom查
单⾏读取可能会变慢:列式存储设计是为了全表扫描做的优化,未来可能会为单⾏访问的应⽤引⼊“列组”的概念
只有主键可以设置range分区,且只能由⼀个主键,也就是⼀个表只能有⼀个字段range分区,且该字段必须是主键
kudu的shell客户端不提供表schema查看。如果你不通过imapla连接kudu,且想要查看表的元数据信息,需要⽤spark加载数据为dataframe,通过查看dataframe的schema查看表的元数据信息。
4.优势
⽀持update和upsert操作
结构化数据模型
与imapla或spark集成后,可通过sql操作,使⽤⽅便
⼀个table由多个tablet组成,对分区查看、扩容和数据⾼可⽤⽀持⾮常好
扫描⼤数据量时吞吐率⾼
随机访问数据时延时低
通过⾼CPU性能发挥RAM和Flash潜⼒
IO效率⾼
5.持久化存储
Kudu是⼀种完全的列式存储引擎,表中的每⼀列数据都是存放在⼀起,列与列之间都是分开的。
为了能够保存⼀部分历史数据,并实现MVCC,Kudu将数据分为三个部分。⼀个部分叫做base data,是当前的数据;第⼆个部分叫做UNDO records,存储的是从插⼊数据时到形成base data所进⾏的所有修改操作,修改操作以⼀定形式进⾏组织,实现快速查看历史数据;第三个部分是REDO records,存储的是还未merge到当前数据中的更新操作。
6.宽表问题 ,建表后加列
在批量读取和批量写⼊速度上(宽表,字段90+),Kudu都⽐HBase要快很多,Kudu使⽤bulk load写空表不超过2分钟、读取Hfile的⽅式kudu读取⼀天的数据在10分钟左右
impala 或hive 给指定kudu库中的表添加列,修改列并调整列位置
alter TABLE spark_kudu_test add columns(column_name string COMMENT '字段名称');
alter TABLE spark_kudu_test CHANGE column_name column_name STRING AFTER doc_id;
7.单条数据性能
Kudu可⽀持⼀些分析性查询的基础。每⼀个Column的数据被存储在⼀个相邻的数据区域,⽽这个数据区域进⼀步被细分成⼀个个的⼩的Page单元,与HBase File中的Block类似,对每⼀个Column Page可采⽤⼀些Encoding算法,以及⼀些通⽤的Compression算法。既然可对Column Page可采⽤Encoding以及Compression算法,那么,对单条记录的更改就会⽐较困难了
Kudu可⽀持单条记录级别的更新/删除,把DiskRowSet分为了两部分:base data、delta stores。base data 负责存储基础数据,delta stores负责存储 base data 中的变更数据.
Kudu简单来说就是加强版的Hbase,除了像hbase⼀样可以⾼效的单条数据查询,他的表结构是类型关系型数据库的。集合impala可以达到复杂sql的实时查询。
如果是存粹的随机读写,或者单⾏的检索请求这类场景,由于这些Tradeoff的存在,HBASE的性能吞吐
率是要优于Kudu不少的(2倍到4倍),kudu的优势还是在⽀持类SQL检索这样经常需要进⾏投影操作的批量顺序检索分析场合。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。