前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[译]学习PostgreSQL内核

[译]学习PostgreSQL内核

作者头像
yzsDBA
发布2022-12-27 13:51:54
5570
发布2022-12-27 13:51:54
举报

学习PostgreSQL内核

发现一个学习PG内核的资料,以作记录。

首先,从愿景开始,阅读Postgres的设计:了解PG与其历史的区别:复杂对象、用户可扩展性、活跃的数据库设施,同时保留关系的概念。

https://dsf.berkeley.edu/papers/ERL-M85-95.pdf

其次,浏览下Bruce Momjain的“Internal”:这些往往有些老,Bruce已经有段实际没有做深入的核心工作了,但他是一位专业的老师和解惑者,所以他对了解PG很有用。在2018年关于PG新添加的功能研究中,Stephen Frost以类似的方式介绍了代码库。

https://momjian.us/main/presentations/internals.html

https://www.youtube.com/watch?v=51yez5gBFmI

第三,考虑花些时间阅读“PG内核原理”,这是对PG子系统非常详细的介绍,包括header结构和数据流。和任何一本书一样,可能偏离了当前PG的细节,但我所知道的没有其他资源甚至视图以这种粒度解释内部结构:

http://www.interdb.jp/pg/

第四,源代码本身就是一个了不起的资源,头文件和函数描述中的注释非常好。PG社区令人难以置信的详细和严格的源代码审查过程,不仅期望有好的代码,而且还期望有好的文档记录代码的作用。

会议演讲是一个不断变化的目标,因为他们倾向于关注事物的前沿,但有一些社区成员定期就他们的核心主题发表研究,这必须解释事物是如何运作的,以便将事物情境化。

不幸的是,PG会议有一个习惯...不录用!所以网上比较少。Tom Lane在PgCon 2011上的多会话查询计划非常突出:

https://www.pgcon.org/2011/schedule/events/350.en.html

核心技术内容最好去的会议无疑是PgCon:https://www.pgcon.org/2022/

1)Andres Freund:在完成极其艰巨的技术工作的同时,仍然抽出时间来解释他在做什么:

异步IO:https://www.youtube.com/watch?v=CD0w3gWBF7s

可拔插表存储:https://www.youtube.com/watch?v=mTfvA9EQIz8

Postgres JIT 2018:https://www.youtube.com/watch?v=-rpsboLc8wU

Postgres JIT 2017:https://www.youtube.com/watch?v=v3NAJOFi2jU

2)Robert Haas是EDB的CTO:

并发DDL:https://www.youtube.com/watch?v=kbtkKh9B7eo

什么是Plan:https://www.youtube.com/watch?v=YH0zRk7NSfE

3)Amit Kapila,每次发布都在悄悄地完成令人印象深刻的工作

Hash索引:https://www.youtube.com/watch?v=SCaBmBbLTPQ

4)Melanie Plageman,他对真正困难的话题做出了令人深刻的解释

PG规划器简介:https://www.youtube.com/watch?v=j7UPVU5UCV4

work_mem:https://www.youtube.com/watch?v=mA8ODr4mAwo

5)Peter Geoghegan,他直接进入基金会并建立起来(不幸的是,他给出的 btree 演讲,这是一次绝妙的表演,不在网上,也许这个 nbtree 演讲是一个可以接受的替代品)

nbtree:https://www.youtube.com/watch?v=p5RaATILoiE

当然,还可以阅读pgsql-hackers邮件列表和commitfest,帮助了解贡献文化,并了解正在进行开发的地方;还有我们前期说的关于PG内部机制的书“PG14技术内幕”:

https://postgrespro.com/community/books/internals

原文

http://blog.cleverelephant.ca/2022/10/postgresql-links.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yanzongshuaiDBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档