PostgreSQL列存与行存

列存优势:

1、列存没有行存1666列的限制

2、列存的大量记录数扫描比行存节约资源

3、列存压缩比高,节约空间

4、列存的大量数据计算可以使用向量化执行,效率高

行存优势:

1、行存查询多列时快

2、行存DML效率高

简单来说,行存适合OLTP业务,列存适合OLAP业务。

如果业务是混合负载,既有高并发SQL,又有实时分析业务怎么办?

Oracle的做法:

in memory column store,实际上是两份存储,一份在磁盘(行存),一份在内存中使用列存。

根据SQL,优化器选择扫描列存还是行存。(通常看planNODE中数据扫描的行选择性,输出的行数,输出的列数等)

Oracle in memory column store是两份存储的思路。

PostgreSQL如何应对混合业务场景呢?

当前PG已经有了SMP并行执行的优化器功能,丰富的聚合函数,窗口函数等,已经有很好的OLAP处理能力。如果能在数据存储组织形式上支持到位,势必会给OLAP的能力带来更大的质的飞跃,以更好的适合OLTP OLAP混合业务场景。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值