PostgreSQL 体系结构--补充
以下有我在网上查到的一些资料,是对PostgreSQL体系结构的一些补充,主要是针对7.4.3版本的:
1、PostgreSOL在安装后,其目录组织结构如下图:
2、PostgreSQL开发文档中给出的服务器体系结构图:
3、PostgreSQL7.4.3的体系结构,如下图所示:
l SQL客户端接口负责在客户端和服务器端通信,对应服务器体系结构图中的libpq。
l 系统控制管理器负责初始化和控制整个PostgreSQL系统,对应服务器体系结构图中的Postmaster和Postgres。
l 查询引擎是最主要的子系统,负责解析、优化和执行处理客户端发来的请求,对应服务器体系结构图中由Parser、Traffic Cop、Rewrite、Choose Path&Generate Plan、Executor和Utility Commands组成的部分。
l 数据字典存储在系统关系中,存储着系统运行必要的信息和对象的定义信息,并提供处理创建删除对象的接口,对应服务器体系结构图的Catalog。
l 存储管理器负责管理内存和磁盘,提供存取数据库的数据的功能,对应服务器体系结构图的Storage Managers。
l 存取方法和事务管理器控制着逻辑的数据存取和数据库的ACID特性实现,对应服务器体系结构图的Access Methos。
l 库和实用工具程序为其他子系统提供功能上的支持对应服务器体系结构图的Utilities和Nodes/Lists。
4、执行器模块介绍
执行器:接受规划器/优化器传过来地查询规划然后递归地处理它, 抽取所需要地行集合。执行器就是对应于上面所提到的查询引擎中的执行处理客户端发来的请求(Executor),它是查询引擎的核心模块。
执行器实际上是一个需求-拉动地流水线机制。 每次调用一个规划节点地时候,它都必须给出更多的一个行,或者汇报它已经完成行的传递了。
针对不同的SQL查询类型,执行器会有不同的执行方案,而这些方案的选择是按照执行器机制进行的。
(部分内容转自:清华大学亓伟申请专业学位论文)
姓名:吴冰 主题:执行器
转载于:https://www.cnblogs.com/tjdx415/archive/2010/01/16/1649446.html