我想学习如何制作一个基于 PostgreSQL 的 DBMS(关系型)。不是为了生产目的而制作商业产品,而是为了学习。
我计划使用 C++,但是要找到关于如何构建自己的(或至少从哪里开始)的信息并不容易。
我知道这个社区中有些人甚至是 PostgreSQL 源代码的贡献者(例如 Laurenz Albe),所以在这里提出这个问题是有意义的。
我一直在学习本课程https://www.youtube.com/playlist?list=PLSE8ODhjZXjbohkNBWQs_otTrBTrjyohi以了解 DBMS 的来龙去脉。但由于大部分只是解释理论,我没有机会看到实际或如何实际去做。
我的建议是参与一个开源数据库项目。我会选择 PostgreSQL,但当然还有其他选择。
如果您使用 PostgreSQL:
使用软件。如果不实际使用它们,就不可能了解数据库。
从源代码构建 PostgreSQL。
订阅邮件列表并阅读它们。在那里你可以读到知识渊博的人所说的话,并且可以从中学到很多东西。
每当您遇到问题或不了解某事的工作原理时,请挖掘源头。如果您遇到困难,请寻求帮助。
阅读这篇文章。
收听 pgsql-hackers 邮件列表。
开始审查补丁并做出贡献。
请留意其他数据库执行此操作的不同方式。几年后,你会有所了解。然后,您可能会提出自己的建筑想法。