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

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

1、行式存储:

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

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

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

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

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

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

2、列式存储:

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

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

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

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

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

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

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

相关文章
|
存储 NoSQL 关系型数据库
什么是列式存储,一文秒懂
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 从数据存储讲起 我们最先接触的数据库系统,大部分都是行存储系统。大学的时候学数据库,老师让我们将数据库想象成一张表格,每条数据记录就是一行数据,每行数据包含若干列。
什么是列式存储,一文秒懂
|
存储 SQL 数据采集
一篇文章彻底理解大数据的列式存储
一篇文章彻底理解大数据的列式存储
一篇文章彻底理解大数据的列式存储
|
8月前
|
存储 分布式计算 大数据
基于阿里云大数据平台的实时数据湖构建与数据分析实战
在大数据时代,数据湖作为集中存储和处理海量数据的架构,成为企业数据管理的核心。阿里云提供包括MaxCompute、DataWorks、E-MapReduce等在内的完整大数据平台,支持从数据采集、存储、处理到分析的全流程。本文通过电商平台案例,展示如何基于阿里云构建实时数据湖,实现数据价值挖掘。平台优势包括全托管服务、高扩展性、丰富的生态集成和强大的数据分析工具。
|
存储 消息中间件 NoSQL
聊一聊数据库的行存与列存
好多人最开始学习数据库的时候,是关系数据库,数据以表格形式存储,一行表示一条记录。其实这种就是典型的行存储(Row-based store),将表按行存储到磁盘分区上。 而一些数据库还支持列存储(Column-based store),它将表按列存储到磁盘分区上。
聊一聊数据库的行存与列存
|
XML Java 数据格式
如何使用 Spring Cloud 实现网关
如何使用 Spring Cloud 实现网关
305 3
|
存储 分布式计算 Java
大数据存储技术(3)—— HBase分布式数据库
大数据存储技术(3)—— HBase分布式数据库
5212 0
|
监控 负载均衡 算法
Golang深入浅出之-Go语言中的协程池设计与实现
【5月更文挑战第3天】本文探讨了Go语言中的协程池设计,用于管理goroutine并优化并发性能。协程池通过限制同时运行的goroutine数量防止资源耗尽,包括任务队列和工作协程两部分。基本实现思路涉及使用channel作为任务队列,固定数量的工作协程处理任务。文章还列举了一个简单的协程池实现示例,并讨论了常见问题如任务队列溢出、协程泄露和任务调度不均,提出了解决方案。通过合理设置缓冲区大小、确保资源释放、优化任务调度以及监控与调试,可以避免这些问题,提升系统性能和稳定性。
582 6
|
SQL 存储 分布式计算
【Hive】请谈一下Hive的特点,Hive和RDBMS有什么异同?
【4月更文挑战第17天】【Hive】请谈一下Hive的特点,Hive和RDBMS有什么异同?
|
SQL Java 数据处理
【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
【4月更文挑战第17天】【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
|
存储 NoSQL 关系型数据库
什么是列存储?一文秒懂
什么是列存储?一文秒懂
2392 1