列式存储
在大数据的HBase中与Hive中都有用到列(族)式存储,列式存储被广泛应用,有关于HBase讲解,请访问我的 https://yq.aliyun.com/articles/376750?spm=a2c4e.11155435.0.0.62bc19c8kgVjfV。 今天来说一下什么是列式存储。 首先行式存储大家都知道,就是一行一行的存储,传统的关系型数据库都是这样存储的, 列式存储简单的理解就是将一列数据单独存储在一个文件中,但是正真的存储并不是这样子。假如说有一张表,两个列 column1,column2,我们想象的可能会如下图所示 但是在分布式多线程,对进程访问数据的时候,是不会产生这种形式,因为在大数据的MapReduce或Spark中的任务中, 每一个子任务都会读取一部分的数据,假如我们现在有很多Map来并行读取,所有的Map task在逻辑上都必须是一样的, 假如现在两个Map,要分别读取两个文件,而在图中column1与column2数据类型都不一样,压缩算法也不一样, 读取方法不一样,所以没有办法将文件分配哪个Map task处理。 列式存储到底是怎么存储的呢,再看下面的...