第一图书网

PostgreSQL 数据库内核分析

彭智勇,彭煜玮 机械工业出版社华章公司
出版时间:

2012-1  

出版社:

机械工业出版社华章公司  

作者:

彭智勇,彭煜玮  

Tag标签:

无  

内容概要

  postgresql是目前广泛应用的开源数据库管理系统。《PostgreSQL
数据库内核分析》从postgresql数据库的源代码入手,深入分析了该数据库管理系统的底层实现细节,揭示了数据库运行的基本原理。《PostgreSQL
数据库内核分析》的主要内容包括:postgresql数据库的体系结构、
存储管理、索引机制、查询编译、查询执行、并发控制机制以及安全等。每个主题都引用了大量的数据结构、图表等进行说明,使读者对实现过程和机理一目了然。
  《postgresql数据库内核分析》适合从事数据库领域相关研究的技术人员、高等院校相关专业高年级本科生或研究生阅读,有助于读者进行数据库的高级开发、基于postgresql定制满足需求的数据库系统,或者在数据库内核中实现并验证数据库新技术。

作者简介

  彭智勇,武汉大学计算机学院教授,博士生导师,日本京都大学博士,中国计算机学会数据库专业委员会委员,长期从事数据库理论与技术的研究和教学工作。在武汉大学开设了“数据库基础”、“数据库系统实现”、“数据库内核分析”等数据库系列课程。  彭煜玮,武汉大学计算机学院讲师、博士,长期从事数据库理论与技术研究以及教学工作,主要负责“数据库内核分析”等课程的实践教学工作。

书籍目录

前言
第1章 postgresql系统概述
1.1 postgresql简介及发展历程
1.2 postgresql的特性
1.3 postgresql的应用
1.4 postgresql代码结构
1.5 安装postgresql
1.6 postgresql数据库命令
第2章 postgresql的体系结构
2.1 系统表
2.2 数据集簇
2.3 postgresql进程结构
2.4 守护进程postmaster
2.5 辅助进程
2.6 服务进程postgres
2.7 小结
第3章 存储管理
3.1 存储管理器的体系结构
3.2 外存管理
3.3 内存管理
3.4 表操作与元组操作
3.5 vacuum机制
3.6 resourceowner资源跟踪
3.7 小结
第4章 索引
4.1 概述
4.2 b-tree索引
4.3 hash索引
4.4 gist索引
4.5 gin索引
4.6 tsearch2全文搜索
4.7 小结
第5章 查询编译
5.1 概述
5.2 查询分析
5.3 查询重写
5.4 查询规划
5.5 代价估计
5.6 postgresql中的遗传算法
5.7 小结
第6章 查询执行
6.1 查询执行策略
6.2 数据定义语句执行
6.3 可优化语句执行
6.4 计划节点
6.5 其他子功能介绍
6.6 小结
第7章 事务处理与并发控制
第8章 数据库安全
附录a 用eclipse开发和调试postgresql

章节摘录

  6.6小结  本章介绍了PostgreSQL中对于各种SQL语句的一般执行流程。对于用户输入的SQL语句,优化器将为可优化语句生成计划树,最终Portal会通过判断选择Executor来处理,而数据描述语句则在执行过程中由Portal使其统一进入Process Utility过程进行执行。  作为查询执行部分的入口,Portal提供了对外的调用接口:PortaIStart、PortalRun、Port,alEnd,对内提供了执行流程和部件的选择。外层通过调用Portal接口,将计划器输出的执行计划传递给Portal,Portal通过对于链表中操作的类型和链表长度等信息来决定选择怎样的执行过程,对于简单的查询语句直接调用Executor,对于需要缓存输出直到执行完成的语句则需要为其增加缓存结构和输出过程,对于更为复杂的过程提供了更为通用的复杂处理流程。不论哪种执行过程,优化器生成的查询计划树由Executor来处理,而其他数据描述语句的功能由ProcessUtility来完成。  对于种类繁多的数据描述语句,每种都有一个Stmt类型的数据结构保存其语法分析的信息,通过对于Stmt类型的判断,ProcessUtility会为其调用相应的语法解析和执行处理过程。  可优化语句则会提供Plan类的子类对象构成的计划树,每个计划节点数据结构共同继承于Plan节点,计划树的每种节点对应了一种物理操作,被分为四大类,除了对应于关系代数的各种操作外,还增加了扫描、物化、唯一等操作。每种节点根据所对应的操作的不同,执行器都为其实现了初始化、执行和清理流程。  Plan只是一个查询计划,初始化过程中为这个计划里的每个节点生成状态节点并构造状态树,保存执行中的相关信息。最终通过Executor执行每种节点的执行函数来实现各种节点的物理操作,在执行中利用状态树中信息处理相关数据。各节点的执行过程普遍包含了投影和选择操作,以及对于下层节点的处理过程调用。  Executor通过迭代的调用每个节点处理过程,从下层计划节点对应的执行流程中获取数据,并经过各种节点的处理流程,得到最终的输出结果。对于修改元组的相关操作则是在获取到元组后通过调用相关存储操作接口实现的。  执行过程需要使用存储和索引提供的接口存取数据,并涉及事务和权限控制等内容,这些会在相关章节给出更加详细的介绍。  ……


编辑推荐

  《PostgreSQL 数据库内核分析》系统、深入地剖析开源数据库PostgreSQL的实现机制和工作原理,作者跟踪、研究PostgreSQL源代码十年的呕心之作。  《PostgreSQL 数据库内核分析》按照PostgreSQL的体系结构,从存储、索引、查询编译、查询执行、并发控制以及安全几个方面切入,全面介绍PostgreSQL各种机制的运行原理。为了清晰阐述复杂的运行机理,书中穿插了大量的原理图、程序流程图进行辅助讲解,使数据库的运行过程一目了然。《PostgreSQL 数据库内核分析》没有单纯地介绍数据库原理或逐行分析源代码,而是从数据库设计者的角度,阐释数据库内部各个模块之间如何配合实现各种功能。  《PostgreSQL 数据库内核分析》基于开源数据库管理系统PostgreSQL 8.4.1,对其底层运行、实现机制进行了详尽介绍,使读者从全局的角度理解数据库管理系统。  《PostgreSQL 数据库内核分析》作者一直从事数据库相关的科研、教学工作,深知要进行数据库的设计、开发、高层次的研究或其他创新性的工作,分析数据库源代码是一个行之有效的方法。基于这一理念,作者于十年前在武汉大学率先开设了“数据库内核分析”课程,《PostgreSQL 数据库内核分析》的编写理念、内容架构也在这十年间不断成熟和完善。  《PostgreSQL 数据库内核分析》从数据库学习、研究者的认知规律出发,以典型的开源数据库管理系统为例,揭示了一个真实数据库管理系统运行背后的奥秘。作者从源代码入手,将PostgreSQL的存储管理、索引、查询编译、查询执行、并发控制、安全保障机制的实现原理、机制间的交互配合全景展现,读者不仅能够了解PostgreSQL的设计原理,提升对数据库的认识,更能在此基础上进行数据库系统的定制、数据库内核开发等设计层面的工作。

图书封面

图书标签Tags

广告

下载页面


PostgreSQL 数据库内核分析 PDF格式下载



一直在寻找postgresQL方面的书籍,很高兴看到这本书,很有帮助。


少有的postgresql的中文书籍


适于初入者学习,数据库基础知识需要专门的书


了解内核,不错的一本书,写的很详尽


纸张质量很好,内容适合以后从事数据研究的人


内容丰富,作者写的很认真负责,当当配送给力,次日就到了,全新书籍,没有瑕疵,喜欢


实验室导师要求买的书!


讲的比较细,更像是代码的解读


介绍数据库使用和开发的内容较少


纸张不错,观感很好,这种主题的书在国内比较少,看书的简介是说本书来自大学教学研究的心得,不过国内做研究的风气不敢恭维,所以要等读了以后才能下结论


这次国内出这个书,感觉还不错,内容也够多


书写得不好,太抽象,概念居多,实操没有,但就算是讲概念,逻辑连贯性差,经常是跳跃式地讲,无一定功底读起来很费解。


太枯燥太枯燥太枯燥太枯燥太枯燥太枯燥


偏向数据库实现


还没有看!先收藏着!


内核分析


为数不多的postgres的书籍


次购物的总体满意度如何?


用来提纲契领的书,


数据库从业者的好书


相关图书