列存储与行存储的区别(列式存储vs行式存储)

为什么要按列存储?

列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-based storage)来说的。简单来说两者的区别就是如何组织表:

Row-based storage stores a table in a sequence of rows.Column-based storage stores a table in a sequence of columns.
列存储与行存储的区别(列式存储vs行式存储)
专栏
Elasticsearch 7.x从入门到精通
作者:软件架构
29.8币
88人已购
查看

与行存储将每一行的数据连续存储不同,列存储将每一列的数据连续存储。示例图如下:

列存储与行存储的区别(列式存储vs行式存储)
专栏
作者:软件架构
29.8币
27人已购
查看

相比于行式存储,列式存储在分析场景下有着许多优良的特性。

1)分析场景中往往需要读大量行但是少数几个列。在行存模式下,数据按行连续存储,所有列的数据都存储在一个block中,不参与计算的列在IO时也要全部读出,读取操作被严重放大。而列存模式下,只需要读取参与计算的列即可,极大的减低了IO cost,加速了查询。

2)同一列中的数据属于同一类型,压缩效果显著。列存储往往有着高达十倍甚至更高的压缩比,节省了大量的存储空间,降低了存储成本。

3)更高的压缩比意味着更小的data size,从磁盘中读取相应数据耗时更短。

4)自由的压缩我爱线报网每日持续更新海量各大内部创业教程算法选择。不同列的数据具有不同的数据类型,适用的压缩算法也就不尽相同。可以针对不同列类型,选择最合适的压缩算法。

5)高压缩比,意味着同等大小的内存能够存放更多数据,系统cache效果更好。

官方数据显示,通过使用列存,在某些分析场景下,能够获得100倍甚至更高的加速效应。

列存储与行存储的区别(列式存储vs行式存储)
专栏
Kafka v2.3 快速入门与实践
作者:软件架构
29.8币
35人已购
查看

推荐阅读

给力项目线报网会员可免费下载 加入会员
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2
温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
行业资讯

文件a删除pk是什么意思(老板让我对比word文档差异,我用了2小时,同事1分钟就搞定了)

2024-5-14 12:35:34

行业资讯

qq号码交易哪个平台好(qq号码交易平台,小心吉号网骗子,切记)

2024-5-14 12:56:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索