美文网首页
Carbondata 存储结构

Carbondata 存储结构

作者: ni_d58f | 来源:发表于2020-06-21 22:04 被阅读0次

数据文件结构如下:

image.png image.png

索引文件结构相对比效简单,没有直接画出, 可以直接查看原码(AbstractFactDataWriter#writeIndexFile)

相对Parquet 结构而言,多了一个IndexFile, 不过看了一下源码, Index File 只能对Block级别的列进行索引, 即统计一个Block中每一列的最值, 并通过Btree组织在一起。

总结: 相对于Parquet, ORC等传释统行列混合存储的结构主要有以下改进:

  • 增加了索引文件,可以在读数据块做一些预处理,但就我理解来说,这个效果很有限,索引只存储了每个数据块每一列的最值, 而且数据块之间没有排序, 在数据均匀分布的情况下这个索引我认为是一个鸡肋,还有对于点查询来说同样有也有个这个问题

  • 丰富了数据类型支持,支持多种Java内置的数据类型,支持多种编码与压缩技术; 避免了Parquet文件的嵌套结构,整体上更易懂

  • 优化了内存分配与效率,支持使用直接内存与内存池化技术

缺点:

  1. 只适合大数据在的数仓存储,如Spark、Hive等,不适合OLAP 查询场景,在这一点在和Parquet等并没有本质区别, 不过就CarbonData的出发点来说,也并不是为OLAP场景使用。 在我看来适合OLAP查询场景的存储结构要满足以下特点:
  • 适合的索引技术,比如倒排(ES)、Btree(Green plum)
  • 合适的分区技术 ( Presto, HAWQ)
  • 丰富的统计、如基础统计,比如说InfroBright 使用“知识网格”技术,可直接利用统计信息而不是用索引来过滤数据,虽然CarbonData也使用了统计,在我看来还远远不够
  1. 支持的执行引擎目前是Hive、Spark, 支持Sink到Flink等, 生态需要进一步加强。

相关文章

  • Carbondata 存储结构

    数据文件结构如下: 索引文件结构相对比效简单,没有直接画出, 可以直接查看原码(AbstractFactDataW...

  • 让CarbonData使用更简单

    CarbonData 是什么 引用官方的说法: Apache CarbonData是一种新的高性能数据存储格式,针...

  • CarbonData 文件结构笔记

    1. 表存储结构 对表做了初始化,并且插入了一条数据, 形成如下的文件结构: 2. 数据文件结构 2.1 Bloc...

  • CarbonData 编译打包

    背景 CarbonData是什么?官网说明:Apache CarbonData is an indexed col...

  • carbondata测试报告

    carbondata测试报告 此文档是测试carbondata(1.4)与parquet(1.10)在spark ...

  • (HDP2.6.2)Carbondata1.3.1+Spark2

    一、Carbondata下载编译 1、下载Carbondata代码包 https://github.com/apa...

  • 顺序存储结构和链式存储结构

    顺序存储结构 查找效果高于链式存储结构,但插入、删除效率不如链式存储结构 链式存储结构 查找效率不如顺序存储结构,...

  • 面试基础复习

    1.数据结构的存储 数据结构的存储一般常用的有两种: 顺序存储结构 和 链式存储结构。顺序存储结构和链式存储结构的...

  • 数据结构 —线性表,LruCache实现原理

    逻辑结构和物理结构 物理结构:是指数据的逻辑结构在计算机中的存储形式 顺序存储结构顺序存储 链式存储结构链式存储 ...

  • oracle数据库存储结构

    ----存储结构概述:oracle 数据库的存储结构分为物理存储结构和逻辑存储结构两种。物理存储结构主要用于描述在...

网友评论

      本文标题:Carbondata 存储结构

      本文链接:https://www.haomeiwen.com/subject/tmjzxktx.html