apache carbondata 介绍

apache carbondata 介绍

Carbondata是华为开发的一种大数据场景下的列式存储格式,目前是apache社区的顶级项目。CarbonData是一个高性能的数据解决方案,目标是实现一份数据支持多种分析场景,包括BI分析,即席SQL查询,明细数据分析,流式分析等。CarbonData已经部署在许多企业生产环境中,例如一个规模较大的场景,支持单个表5PB数据(超过10万亿条记录)上明细数据分析,响应时间小于3秒!

相比parquet和orc的列式存储,Carbondata的优势在于:

  • 数据排序上,Carbondata不局限于单个row group(blocklet)内
  • MDK+invert index实现多列,行级别的索引
  • 全局字典+惰性转换,能够实现在排序,聚合之后进行字典到数据的转换。
apache carbondata 介绍

Carbondata底层的每一个存储单元称为一个blocklet,对应于parquet的一个row group。每个blocklet内按列分为多个Column Chunk。carbondata引入了ColumnGroup Chunk支持行存,在一个ColumnGroup内将多个列按行组织存储。在ColumnGroup外部,整个ColumnGroup视为一列与其他ColumnChunk混合存储在同一Blocklet内部。


分享到:


相關文章: