数据库—行式存储和列式存储

1. 数据库的存储模式

1.1 关系型数据库

关系型数据库RDS(Relational Database Service),大部分为行式存储数据。

  • 行式存储:
    • 据以行相关的存储体系架构进行空间分配,主要适合与小批量的数据处理,常用于联机事务型数据处理。
    • 不能满足后面三个需求:对数据库高并发读写要求,对海量数据的高效率存储和访问需求,对数据库高可扩展性和高可用性。
    • 总结一句话: 不适合分布式、高并发和海量。
    • Mysql, Oracle

1.2 非关系型数据库

非关系型数据库NoSQL,存储数据分为四大类型:

  • 列存储:

    • 列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。
    • 特点:包括查询快,由于查询需要读取的blocks少;数据压缩比高,正因为同一类型的列存储在一起,Load快。 简化数据建模的复杂性。但是插入更新慢,不太适合数据老是变化,它是按列存储的。这时候你就知道它适做DSS(决策支持系统),BI的优秀选择,数据集市,数据仓库,它不适合OLTP(On-Line Transaction Processing)。
    • 主要适合与批量数据处理和即时查询。
    • Eg:Hbase, cassandra, Amazon Redshift
  • 键值对存储

    • Key-Value存储,它的数据

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
列式数据库行式数据库是两种不同的数据库存储方式,它们有各自的优势和劣势。 列式数据库(Columnar Database)将数据按列进行存储,每个列都有各自的数据类型和索引。这种存储方式的主要特点是高度的压缩率和快速的数据访问速度。列式数据库适用于需要经常查询特定列的场景,如数据分析、报表生成等。优点包括: 1. 高压缩率:列式数据库能够对相同数据类型的列进行高效压缩,因为相同类型的数据具有较高的相似性,从而减少存储空间的占用。 2. 快速查询:由于数据按列存储,查询时只需要读取所需的列数据,减少了不必要的IO操作,提高了查询效率。 3. 聚合查询效果好:列式数据库适用于聚合计算,例如对大量数据进行分组统计、求和、平均值等操作。 然而,列式数据库也存在一些劣势: 1. 更新和插入数据较慢:由于数据按列存储,更新和插入操作需要涉及多个列,导致写入性能较低。 2. 不适合事务处理:列式数据库一般不支持事务处理,因此在需要频繁进行事务操作的场景下效果不佳。 相比之下,行式数据库(Row-based Database)将数据按行进行存储,每个行包含多个列的数据。行式数据库适用于需要频繁更新和插入数据的场景,如在线事务处理系统。优点包括: 1. 高写入性能:由于数据按行存储,插入和更新操作只需要涉及一行数据,因此写入性能较高。 2. 支持事务处理:行式数据库通常支持事务处理,保证了数据的一致性和可靠性。 不过,行式数据库也存在一些劣势: 1. 查询效率较低:由于数据按行存储,查询时需要读取整行数据,造成不必要的IO开销,降低了查询效率。 2. 存储空间占用较大:相同类型的数据在行式数据库中会重复存储,导致存储空间占用较大。 综上所述,列式数据库适用于数据分析和报表生成等场景,而行式数据库适用于事务处理系统。选择合适的数据库类型应根据具体的业务需求和性能要求来决定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值