- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PostgreSQL OLAP新高度 - CPU向量计算与瓦片式存储
本文章来自于阿里云云栖社区
摘要:?标签 PostgreSQL , OLAP , 向量化 , vector , postgrespro , tiles , 瓦片 , 瓦片索引 , map , reduce , 分组聚合 , 非分组聚合 , 分区键 , sort key , order by , brin , cpu Cache , projection , 行列变换 背景 在主流的OLTP数据库产品中,毫无疑问,PostgreSQL已经具备非常强大的竞争力(性能、功能、稳定性、成熟度、案例、跨行业应用等)。
标签
PostgreSQL , OLAP , 向量化 , vector , postgrespro , tiles , 瓦片 , 瓦片索引 , map , reduce , 分组聚合 , 非分组聚合 , 分区键 , sort key , order by , brin , cpu Cache , projection , 行列变换
背景
在主流的OLTP数据库产品中,毫无疑问,PostgreSQL已经具备非常强大的竞争力(性能、功能、稳定性、成熟度、案例、跨行业应用等)。
HYPERLINK /digoal/blog/blob/master/20170201.md 《数据库选型之 - 大象十八摸 - 致 架构师、开发者》(原文链:/digoal/blog/blob/master/20170201.md?spm=5176.100239.blogcont70993.17.UKDSBnfile01.md)
HYPERLINK /digoal/blog/blob/master/20170203.md 《数据库选型思考》(原文链接:/digoal/blog/blob/master/20170203.md?spm=5176.100239.blogcont70993.18.iWIN23file03.md)
HYPERLINK /digoal/blog/blob/master/20170101.md 《数据库界的华山论剑 》(原文链接:/digoal/blog/blob/master/20170101.md?spm=5176.100239.blogcont70993.19.NJsNISfile01.md)
HYPERLINK /digoal/blog/blob/master/20160902.md 《PostgreSQL 前世今生》(原文链接:/digoal/blog/blob/master/20160902.md?spm=5176.100239.blogcont70993.20.fv1eyJfile02.md)
在OLAP领域,PostgreSQL社区也是豪情万丈的,比如内核已经实现了基于CPU的多核并行计算、算子复用等。
在社区外围的插件如 GPU运算加速、LLVM、列存储、多机并行执行插件 等也层出不穷。
虽然如此,PostgreSQL在OLAP领域还有非常巨大的提升潜力。
OLAP profiling 分析 (OLAP哪些过程最耗资源)
OLAP单个查询就会涉及大量数据的处理,与OLTP有非常鲜明的差别,那么数据库在OLAP场景会有哪些明显的瓶颈呢?
1. unpack row(tuple) 带来的开销
在PostgreSQL中,数据以行存储,变长类型可能存储在TOAST中,由于它是变长的,当访问第N列的数据时,也需要unpack前N-1列的内容数据(不过这块有优化空间,比如在行头记录每列的OFFSET,但是这样又引入另一个问题,增加了OFFSET必然会增加空间开销)。
另一种优化方法是业务层面的,比如将定长类型和变长类型拆分成两张或多张表,或者将不怎么访问的大字段拆开到其他表,通过JOIN关联它们。
不要小看这笔开销,这笔开销是O(N)的,所以数据量越大,开销越大,比如TPCH的Q6,40%是ROW格式化带来的开销。
2. 解释执行引入的开销
PostgreSQL的优化器通过构建树的方式来表述执行计划,所以执行器必须以递归的方式从树的最边缘节点一直往上执行。
解释执行的好处是弹性,容易改写,比如PG的customize scan ,GPU运算就用到了它。
通常解释执行比native code慢10倍,特别是在表达式非常多时。
你可以通过这种方式观察
postgres=# set debug_p
您可能关注的文档
最近下载
- 八年级语文上册新教材解读课件(统编版2024).pptx
- 医学成像技术原理全套完整教学课件.pptx
- 幼儿园防恐防暴演练总结(32篇).docx VIP
- 2024年秋新改版教科版六年级上册科学全册教案教学设计(新课标版).docx VIP
- ktv酒水供销合同范本.docx VIP
- 第3课+追求人生理想+第一框+第3目【中职专用】2024-2025学年中职思想政治《哲学与人生》(高教版2023基础模块).pptx VIP
- 第9讲 《反兴奋剂条例》.ppt VIP
- 无人驾驶技术在矿用电机车的应用.docx VIP
- 2025年人教版七年级上册《劳动与技术》教案全册.pdf VIP
- (高清版)B-T 19889.7-2022 声学 建筑和建筑构件隔声测量 第7部分:撞击声隔声的现场测量.pdf VIP
文档评论(0)