Hadoop生态系统发展到现在,存储层主要由HDFS和HBase两个系统把持着,一直没有太大突破。在追求高吞吐的批处理场景下,我们选用HDFS,在追求低延迟,有随机读写需求的场景下,我们选用HBase,那么是否存在一种系统,能结合两个系统优点,同时支持高吞吐率和低延迟呢?有人尝试修改HBase内核构造这样的系统,即保留HBase的数据模型,而将其底层存储部分改为纯列式存储(目前HBase只能算是列簇式存储引擎),但这种修改难度较大。Kudu的出现有望解决这一难题。

想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群:784789432.欢迎你的加入。每天下午三点开直播分享基础知识,晚上20:00都会开直播给大家分享大数据项目实战。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Kudu是Cloudera开源的列式存储引擎,具有以下几个特点:

  • C++语言开发

  • 高效处理类OLAP负载

  • 与MapReduce,Spark以及Hadoop生态系统中其他组件进行友好集成

  • 可与Cloudera Impala集成,替代目前Impala常用的HDFS+Parquet组合

  • 灵活的一致性模型

  • 顺序写和随机写并存的场景下,仍能达到良好的性能

  • 高可用,使用Raft协议保证数据高可靠存储

  • 结构化数据模型

Kudu的出现,有望解决目前Hadoop生态系统难以解决的一大类问题,比如:

  • 流式实时计算结果的更新

  • 时间序列相关应用,具体要求有:

    • 查询海量历史数据

    • 查询个体数据,并要求快速返回

  • 预测模型中,周期性更新模型,并根据历史数据快速做出决策

 

Kudu架构如下图所示:

 Hadoop生态新增列式存储系统Kudu Hadoop

目前Kudu处于beta版,仍在不断开发迭代中,不久将提交并成为Apache Software Foundation incubator,据有关资料介绍,国内小米参与了kudu的开发,并做出不少贡献。据小米首席架构师崔宝秋介绍:“作为 Hadoop 生态系统的长期用户和贡献者,小米在 Kudu 项目初期就开始了和 Cloudera 的合作开发,并已经将 Kudu 独特的实时数据分析功能用到了小米业务中。”

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄