大数据Kudu(一):什么是Kudu

举报
Lansonli 发表于 2022/11/28 11:13:59 2022/11/28
【摘要】 ​什么是Kudu前言结构化数据存储在Hadoop生态系统中,分为静态数据和动态数据两类。静态数据指的是需要进行数据分析的数据,这种分析针对的数据量一般很大,例如:统计全年每个地区总营业额。动态数据指的是数据需要实时动态插入、更新、读取的数据。例如业务系统中海量用户基本信息的存储。静态数据:对于大批量数据分析场景,为了便于数据分析,Hadoop生态系统中一般将数据存储在HDFS中,HDFS设计...

​什么是Kudu

前言

结构化数据存储在Hadoop生态系统中,分为静态数据和动态数据两类。静态数据指的是需要进行数据分析的数据,这种分析针对的数据量一般很大,例如:统计全年每个地区总营业额。动态数据指的是数据需要实时动态插入、更新、读取的数据。例如业务系统中海量用户基本信息的存储。

  • 静态数据:

对于大批量数据分析场景,为了便于数据分析,Hadoop生态系统中一般将数据存储在HDFS中,HDFS设计的初衷就是一次写入多次读取,HDFS适合高吞吐连续访问数据场景。只支持数据的追加,不支持数据的更新修改,即不支持随机写。HDFS对于数据的随机读写支持不友好。

  • 动态数据:

一些数据处理场景下,需要低延迟、高效的读取特定数据,我们可以将数据存储在HBase中,HBase支持数据的低延迟随机读写(HBase数据存储在HDFS中,本质上还是追加写。基于版本号和定期合并HFile实现随机读写,默认返回最大的时间戳数据)。HBase中以Rowkey为索引,对于需要大批量读取数据分析的场景,吞吐量不如HDFS。

例如我们有一个业务系统,有如下要求:

  • 数据实时产生,需要对数据逐行进行插入保存、低延迟数据读取、更新的随机读写操作。
  • 需要批量扫描历史数据,进行快速、实时的OLAP数据分析。

以上业务系统,既要求对数据进行随机读写,又要求对数据进行批量分析操作,针对以上业务场景我们就可以选择Kudu。

一、​​​​​​​Kudu概念

Kudu是Cloudera在2015年9月开源的分布式数据存储引擎,其结合了HDFS和HBase的优势,可以同时提供高效的随机访问以及数据扫描能力。Kudu支持数据的实时插入和分析,为实时的OLAP计算提供了另外一种选择

Kudu的随机读写速度和HBase相似,但是达不到HBase随机读写性能,Kudu批量查询数据性能媲美HDFS parquet,但是比HDFS批量查询慢,所以kudu更像是HDFS与HBase的一个折中选择,目前国内小米、网易等公司在用。

二、Kudu 适用场景

Kudu适用于以下场景:

  • 对数据既支持扫描(scan)又支持随机访问(random access)同时具有高性能,简化用户复杂的混合架构场景。
  • 数据需要更新,避免额外的数据迁移。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。