Pgkernel

=首页=
如需要修改本页，请注册帐号，注册地址
Postgres内核交流QQ群：191516184
近期活动：
元旦后第一个周日即2012年1月8日晚8点-9点，网上第一次内核分析会议，讨论内核分析如何展开。
通讯工具：本群QQ语聊+文字，同时请大家备用Skype。
注意事项：请大家提前准备发言要点，同时可提前把要点发到QQ群。
报名方式：请大家愿意参加的加入本群。
活动已结束，点击这里查看会议纪要。
以往的活动请访问历史活动页面。
=PG源码解析项目概要=
PostgreSQL中国内核分析虚拟团队，启动于2011年12月12日，为协调大家共同进步，制定本共识：
*我们相信，众人若产生合力，将更有利于内核的分析。基本的合力有并行力和串行力。并行力是对任务的分而治之，串行力是对任务的接力。我们深知，受客观条件限制，许多人只能在一段时间内分析内核。
*内核分析的结果之一是产生众多高质量的分析文档。这种文档不仅为我们以及我们的后继者所理解，还应让许多人所理解。我们深知，这意味著文档的撰写会迭代许多版本。
*我们乐于深究细节，若暂时无法分析明白，我们愿意标记并公开出来，便于其他人员继续我们的工作。
附A：
*http://wiki.postgresql.org/wiki/Pgkernel是分析结果文档的总门户 
*QQ群172863480是我们的联络方式 
*http://bbs.pgsqldb.com/index.php?t=thread&frm_id=32 是内核所在的bbs
*可参考的任务划分方式有：历史版本研究，最近的几个版本，最新的版本，多节点，其他辅助工具，索引、并发控制、流复制等
*具有项目支持的内核分析是推荐的
*为高校教材配套的内核分析是推荐的
*工业界使用或研发PostgreSQL而产生的内核疑惑进而去分析是推荐的
=内核相关项目=
===PGCloud===
目标：pgcloud BETA,降低运维人员的工作负担, 提供高可用, 节约成本, 提供精细化的报告和监控平台。
项目地址：链接 
文档：pgclound页面 
启动时间：2011年 
联系人：Digoal.Zhou，QQ:276732431
===PostgreSQL技术演进史（项目代号PGStation）===
目标：从Ingres开始一直到最新版本的PostgreSQL9.X，结合数据库发展史上重要的技术论文，用源代码说话，正说PostgreSQL的前世今生，并一探数据库各时代的脉搏。
文档：PostgreSQL技术演进史页面 
联系人：孙鹏，QQ:66697561
=== SQL查询优化器（开放项目，欢迎参与）===
目标：探索PostgreSQL中查询优化器的代码，探索查询优化技术，包含联机查询优化和物理查询优化以及多种两表连接算法、多表连接算法等。
文档： 
SQL查询优化技术专业博客 
PostgreSQL查询优化器源码分析--整体流程 
PostgreSQL查询代价估算--目录 
联系人：那海蓝蓝(欢迎加入，您也可以联系 QQ:32109872，或 查询优化技术专业QQ群:151467950) 
=== SQL语句对应的ParserTree大全（开放项目，欢迎参与）===
目标：根据SQL标准（例如参考SQL92），分析并绘制SQL语句对应的解析树大全，目的在于研究SQL标准与PostgreSQL解析器代码之间的对应关系，进而一探SQL标准的未来走向（例如数据挖掘语句的影响等）。
文档：postgresql中parse tree内存结构 
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== 复杂Group-By语句的CPU和I/O性能研究（开放项目，欢迎参与）===
目标：探索PostgreSQL中各种复杂Group-By语句从Parser到Optimizer再到Portal之间代码，探索影响Group-By执行的效率问题，包含是否创建索引，以及数据量和数据分布的影响等。
文档：group by 语句从parsetree到portal全过程内存结构 
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== MVCC深度探索（开放项目，欢迎参与）===
目标：探索MVCC技术在PostgreSQL里的实现。
文档：MVCC深度探索页面 
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== WAL深度探索（开放项目，欢迎参与）===
目标：探索WAL技术在PostgreSQL里的实现。
文档：WAL深度探索 
* 那海蓝蓝，PostgreSQL日志系统（WAL）的实现深度分析
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== 流复制（开放项目，欢迎参与）===
目标：探索流复制技术在PostgreSQL里的实现。
文档：流复制 
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== PGPool（开放项目，欢迎参与）===
目标：探索PGPool技术。
文档：pgpool页面 
联系人：暂无(欢迎加入，您也可以联系QQ群191516184) 
=== GiST索引扩展与性能分析及其与各模块的关系研究（开放项目，欢迎参与）===
目标：探索GiST的索引机制，以及在特定应用场景中的扩展，尤其是扩展了存储方案后的索引，包括时空数据的索引等，索引的性能评估机制等。
文档：
Postgres中有关GiST索引的某些调用流程 
曾经的经典libgist v.2.0/amdb v.1.0 
联系人：高需，QQ：24572813 
=基础项目=
===调试环境搭建 ===
目标：协助新的愿意研究内核的人员搭建调试环境 
项目地址：PG内核调试环境搭建 
联系人：徐军 email: jimxu123@gmail.com 
=相关资料=
===原理===
*Hector's DB implementation Notes
*Jeff's Notes
===参考资料===
*官方代码树
*加西亚-莫利纳(Hector Garcia-Molina), 数据库系统实现(第2版)
*彭智勇, PostgreSQL 数据库内核分析 
*Jim Gray, 事务处理:概念与技术
*孙鹏,数据库方面的参考资料
*那海蓝蓝的博客， 数据库方面的参考资料、数据库查询优化器的技术、PostgreSQL和MySQL的比较
===概要===
* PostgreSQL team, Overview of PostgreSQL Internals
* Tom Lane, A Tour of PostgreSQL Internals
* Bruce Momjian, PostgreSQL Internals Through Pictures
* Neil Conway,Introduction to Hacking PostgreSQL
* PostgreSQL中的进程
* 石井達夫，PostgreSQL及其代码的结构
* 那海蓝蓝，PostgreSQL日志系统的实现
* 那海蓝蓝，PostgreSQL存储系统
* 那海蓝蓝，PostgreSQL的多进程与MySQL的多线程
* 那海蓝蓝，PostgreSQL的buffer管理
==内核解析各模块==
===启动和初始化===
*孙鹏,PostgresMain()中重要的几个初始化 
===SQL引擎===
*Bruce Momjian, Explaining the Postgres Query Optimizer
*Neil Conway,Inside the PostgreSQL Query Optimizer
*Conway, Query Evaluation Techniques in PostgreSQL
*孙鹏, group by 语句从parsetree到portal全过程内存结构 
*孙鹏, postgresql中plantree内存结构 
*孙鹏, postgresql中query tree内存结构 
*孙鹏, Postgresql Executor 阶段内存结构
*那海蓝蓝， SQL查询优化技术专业博客 
*那海蓝蓝， PostgreSQL查询优化器源码分析--整体流程
*那海蓝蓝， PostgreSQL查询代价估算--目录
===存储===
*PostgreSQL的数据存储
===内存===
*Bruce Momjian,Inside PostgreSQL Shared Memory
*Nagayasu, (Japanese)PostgreSQL Internals - Buffer Management
*孙鹏,Postmaster的Shared Memory中的shmem index table 内存结构
*孙鹏,Postmaster的Shared Memory中的shared buffer pool内存结构
*孙鹏,PostmasterPostmaster的Memory Context 初始化内存结构
*孙鹏,PostmasterMain()中的process table的初始化后内存结构
===事务、并发、恢复===
*Bruce momjian, Unlocking the Postgres Lock Manager
*Bruce Momjian,MVCC Unmasked
*Tom Lane,Hacking the Query Planner
*Postgres的WAL机制
*Postgres中的ResourceOwner对象简介
*Postgresql与innoDB的多版本并发控制技术比较
* 那海蓝蓝，PostgreSQL日志系统（WAL）的实现深度分析
===其他===
*待整理
*待整理2
Category:Chinese