行式存储和列式存储的区别

简介: 行式存储和列式存储的区别

1、行式存储:

(1)概念:行式存储是以行为单位进行存储,将一整行数据作为一个存储单元,数据是按行存储的。

(2)特点:在写性能方面,性能较高,因为写入是一次完成的;

                   在读性能方面,读取少数几列时,需要遍历其他无关列,所以 IO 开销较大。读取整行数据时,按存储顺序依次读取即可,性能较高。

                   在数据压缩方面,因为一行中数据有多种类型,所以压缩效果较差。

(3)场景:这种存储适合读取整行数据的场景,如在线事务处理系统。

(4)行式存储典型代表:TextFile、SequenceFile

2、列式存储:

(1)概念:列式存储是以列为单位进行存储,将每个字段独立存储。

(2)特点:在写性能方面,因为把一行记录拆分成单列保存,所以写入次数明显比行存储多,效率较低。

                   在读性能方面,读取少数几列时,不需要读取无关列,所以性能高。读取整行时,需要分别读取所有列,并且拼装成行,所以性能低。

                   在数据压缩方面,因为数据是以列为单位进行存储的,而同一列的数据类型是相同的,所以对压缩算法友好,压缩效率高。

(3)场景:这种存储方式适合大规模数据分析场景,如数据仓库、商业智能。

(4)列式存储典型代表:ORC、Parquet

行式存储和列式存储在效率上的区别可参考:列式存储和行式存储有什么区别?

相关文章
|
存储 NoSQL 关系型数据库
什么是列式存储,一文秒懂
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 从数据存储讲起 我们最先接触的数据库系统,大部分都是行存储系统。大学的时候学数据库,老师让我们将数据库想象成一张表格,每条数据记录就是一行数据,每行数据包含若干列。
什么是列式存储,一文秒懂
|
2月前
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
98 1
|
6月前
|
存储 数据管理 应用服务中间件
存储方式
【6月更文挑战第29天】存储方式
62 2
|
7月前
|
存储 SQL 关系型数据库
关系型数据库分区与分片
关系型数据库分区与分片
90 1
|
7月前
|
存储 NoSQL 关系型数据库
你应该知道一些其他存储——列式存储
你应该知道一些其他存储——列式存储
111 2
|
7月前
|
存储 NoSQL 关系型数据库
什么是列存储?一文秒懂
什么是列存储?一文秒懂
1540 1
|
存储 小程序 编译器
C/C++数据在内存中的存储方式
C/C++数据在内存中的存储方式
86 0
|
存储 缓存 NoSQL
H2存储内核分析一
现在做数据库一般都才有 C/C++ 获取其它编译型的语言,为什么会选择 h2 这种基于 java 的语言?会不会影响效率?其实回答这个问题很简单,无论是用什么语言来实现数据库,其实都是在调用操作系统 IO 的函数。因此仅仅是作为存储的话差别其实是不大的。 现在大多数,涉及到存储内核的文章或者讲义,要么是一堆原理,要么就是玩具版本例子,根本无法应用到实际的工程上面去,就像马保国的闪电五连鞭一样。我们选择 h2 的一个重要原因就是,学习完后,可以直接应用到工程上。行不行直接在擂台上比一下就知道了。
H2存储内核分析一
|
存储 NoSQL JavaScript
行存储 VS 列存储
行存储 VS 列存储
|
存储 NoSQL OLAP
Kudu入门_对比_列式和行式|学习笔记
快速学习Kudu入门_对比_列式和行式
Kudu入门_对比_列式和行式|学习笔记

热门文章

最新文章