KUDU 的缺点

前文:

            Kudu的诞生解决了大数据领域的数据更新和OLAP,但是其缺点也是明显,使用时最好考虑如下。

一、情况

服务器情况:5台8Core32内存的服务器

1.1 CPU使用率

1.2 磁盘读流量

1.3 磁盘写

二、说明

2.1 操作

大量更新:

由于我们知道kudu更新的时候会有一个读过程,所以看到在更新时,读是远远大于写的。

但由于读的时候也伴随着CPU的负载的上升,瞬间打满。

2.1.1 第一个峰值说明

更新的数据量大概是近200万的临时表到4.5亿的用户信息表

2.1.2 第二三个峰值说明

数据源也是一张大表,但因为主键的性质导致更新时间字段不能用作主键,每次扫描当天变化的数据时,需要扫全表对应的列,即使是列式存储数据库,但瞬间负载很高。

2.1.3 剩余时间的较高CPU说明

kudu在更新后,会启动多个线程对小文件进行操作。

 

2.2 应用场景缺点

2.2.1读性能

kudu的适用场景非常苛刻,必须走主键,否则,scan非主键列带来的是高CPU。

2.2.2大量写

kudu是牺牲了写性能而提高读性能,主要体现在主键,所以在批量更新的时候会有大量的读。

kudu可能更适用于实时场景,不断地写,这样对服务器的负载会低很多。

2.2.3合并小文件

这个机制相对于Hive其实是优点,但合并小文件的负载同样不低,取决于你底层产生的小文件有多少,也是不读地读和写。

 

2.3 需求缺点

2.3.1 最近N天统计

更新每个用户最近N天的观看、购物等多种行为统计,所以每天要更新的行数非常多,数据库压力巨大。

2.3.2 匿名用户统计

匿名用户的潜在危险,匿名用户是基于cookie,也需要算最近N天的行为统计,但是匿名用户的有效性一般在15天,也就是说数据库后期用户大部分是匿名用户,统计的行数也会很多。

 

2.4 当初选择Kudu的理由

因为用户信息(上亿)关联多张表拼接成一张用户结果表的在Hive 会比较麻烦,所以通过利用Kudu的主键特性,去更新这个用户信息。但在更新的时候遇到了Kudu的性能问题。

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值