首页计算机书籍数据库PostgreSQL查询引擎源码技术探析_李浩编著_9787121294815
memories

文档

1380

关注

0

好评

0
PDF

PostgreSQL查询引擎源码技术探析_李浩编著_9787121294815

阅读 827 下载 1 大小 3.17M 总页数 340 页 2023-03-15 分享
价格:¥ 10.00
下载文档
/ 340
全屏查看
PostgreSQL查询引擎源码技术探析_李浩编著_9787121294815
还有 340 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 340 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
一个相互学习的机会和渠道,无论你是MyL DBA或是Oracle DBA。读者定位本书尝试以一种全新的角度给出对PostgreL查询引擎的分析,笔者作为一名数据库内核开发人员,了解内核开发人员关注的重点是什么。因此,本书以一位内核开发人员和架构师的角度来探讨如何设计并完成一个数据库查询引擎:数据库查询引擎在设计和实现过程中需要考虑哪些问题,又通过什么样的途径和方法来解决这些问题。例如,如何以数据结构来表示一条L查询语句?如何将$QL查询优化理论应用到查询引擎的实现中?相信读者在阅读本书后,能产生同样的思考。本书主要面向的受众:首先是数据库内核开发人员。无论你是MyL开发人员还是PostgreL开发人员,亦或是Infomiⅸ开发人员。一个优秀的查询引擎总是值得你花费一定的时间和精力进行研究并学习其设计和实现中的精华。其次,数据库DBA们同样也值得花费一定的时间和精力来阅读和研究查询引擎源码,所谓知彼知己,百战不殆。只有更好地了解内核中的理论基础和实现机制,我们才可能管理好数据库。最后,对于那些对数据库内核实现感兴趣的相关人员,无论您是经验丰富的老手还是初出茅庐的新手,我想本书也能够为想要了解PostgreL查询引擎的实现内幕的您提供一丝帮助。同样,对于高年级的本科生或是低年级的研究生,相信本书也可作为您学习数据库理论的有益补充。当然,您在阅读本书之前还需要有一些必要的知识:对L标准有必要的认识和了解:了解数据库原理中的相关基本概念,例如查询计划、索引等:CC++编程知识等。本书组织第1章以如何理解并执行查询语句为例,概括性地描述PostgreL查询引擎包含的相关模块以及各个模块的功能。第2章从内核开发人员的角度出发重点介绍描述一条L查询语句需要的相关数据结构。第3章主要讨论对一条$QL查询语句的识别以及相关知识,并以此为基础重点讨论将该字符串形式的L查询语句转为查询树的过程。第4章将以第3章中所获得的查询树为基础,讨论如何对该查询树进行查询逻辑优化。例如,对SubLinks的优化处理,对SubQueries的处理,对表达式的优化,对约束条件的处IV理,对Lateral Join的处理,等等。第5章以查询中涉及的基表的物理参数为基础,依据查询代价来计算查询语句的最优查询访问路径的方法,并对物理优化中使用的相关技术和理论基础进行详细的讨论和分析。例如,所有可行查询访问路径的求解策略,多表连接的处理策略,索引创建和选择的策略,物理代价相关参数的分析,等等。第6章以第5章中所获得的最优查询访问路径为基础,重点讨论如何依据该查询访问路径构建执行引擎所需的查询计划。例如,顺序扫描查询计划的构建,连接关系查询计划构建等。第7章主要分析我们在源码阅读过程中遇到的一些重要辅助函数。错误说明由于笔者水平有限,本书中会存在一定的错误,例如笔误、理解错误等,对于本书中出现的错误,读者可以在.leehao.org中查询该错误的勘误信息,或者发送邮件至hom.lee@hotil与作者联系。笔者非常希望能够与读者共同进步,共同推动国内数据库内核开发人员对PostgreL查询引擎的认识。相比MyL而言,PostgreL的相关资料非常少,而专门介绍PostgreL查询引擎之类的资料则更加少,而这也是本书成书的原因。学习资料源代码作为最好的学习资料,应该永远值得我们认真对待和重视,本书所有分析均基于PostgreL9.4.1版本。读者可以在s:/github/postgres/,postgres中下载最新源码。当然,最新版本的源码可能与本书讨论中给出的源码有所不同,但这并不影响我们对主题问题的讨论。为了了解最新特性或想参与PostgreL内核开发,读者可以订阅PostgreL邮件列表,其中包括开发人员邮件列表、本地化相关邮件列表、相关Bugs邮件列表等。·:.postgresql..org/list/pgsql-cluster--hackers/集群相关内核开发人员邮件列表:·:ww.postgresq1.org/list/pgsql-committers/内核commiters邮件列表,为内核日常技术问题讨论,读者可从中了解内核commiters的最新动态:htt中:.postgresql..org/list/pgsql-hackers,/内核开发人员邮件列表:
返回顶部