列式数据库

行式数据库是按照行存储的,行式数据库擅长随机读操作不适合用于大数据。像SQL server, Oracle, MySQL等传统的是属于行式数据库范畴。列式存储数据库以列为单位聚合数据,然后将列值顺序地存入磁盘。列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生。

简单来说:

行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行的数据,以此类推。
列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。

列式存储的出现主要基于这样一种假设对于特定的查询,不是所有的值都是必需的。尤其在分析型数据里面,这种情形非常常见,因此需要选择一种更为合适的存储模式。

列式存储结构与行式存储结构

在这种新的设计中,减少I/O只是众多主要因素之一,还有其他的优点:因为列的数据类型是天生相似的,即便逻辑上每一行之间存在轻微的不同,但仍旧比按行存储的结构聚集在一起的数据更利于压缩,因为大多数算法只关注有限的压缩窗口。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
行式数据库(Row-Oriented Database)和列式数据库(Column-Oriented Database)是两种常见的数据库数据存储模式,它们的设计理念和查询优化策略有所不同。 **行式数据库**: - **设计基础**:以表格的形式存储数据,每一行代表一条记录,每一列代表一个属性或字段。 - **查询模型**:行式数据库通常按行进行查询,用户需要获取所有相关的字段信息,这在传统的关系型数据库(如MySQL, Oracle)中很常见。 - **优点**:对于事务处理和ACID一致性要求高的场景,以及复杂的SQL查询,性能较好。 - **缺点**:对于大数据分析,尤其是当需要扫描大量列时,可能会遇到性能瓶颈,因为数据不是按照列来组织的。 **列式数据库**: - **设计基础**:将数据按列分解并存储,每个列都有自己的索引,便于对单列进行并行处理和压缩。 - **查询模型**:列式数据库倾向于优化对单列或多列的扫描,适合于执行聚合操作和数据挖掘。 - **优点**:对于大数据分析和在线分析处理(OLAP)场景非常高效,查询速度更快,特别是对大量数据的聚合计算。 - **缺点**:写入操作可能较慢,因为每次更新都需要重新整理列数据,且对于只读不写的场景下可能会显得过于复杂。 **相关问题**: 1. 举例说明何时会考虑使用列式数据库? 2. 行式数据库列式数据库在数据压缩方面有何不同? 3. 列式数据库如何支持大规模数据的并行查询?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值