所以假设你想学习一些关于数据库内部的东西。什么是最好的源代码?最好买的书?
前几天我和一个朋友谈论这个,他推荐:
计算机编程艺术,第 3 卷:排序和搜索
还有哪些书可以帮助我了解所有文件 IO 和内存问题、页面、锁定等......?
所以假设你想学习一些关于数据库内部的东西。什么是最好的源代码?最好买的书?
前几天我和一个朋友谈论这个,他推荐:
计算机编程艺术,第 3 卷:排序和搜索
还有哪些书可以帮助我了解所有文件 IO 和内存问题、页面、锁定等......?
教科书: Ramakrishnan 和 Gehrke 的数据库管理系统。
或者:Hellerstein、Stonebraker 和 Hamilton的数据库系统架构。
生产代码:PostgreSQL
(我比 SQLite 更喜欢 PG 代码,它更完整,而且我认为组织得更好。SQLite 的功能很棒,但有很多它没有承担)。
额外学分:数据库系统读物, Hellerstein 编辑的第 4 版。
如果您真的很认真,尽管已故伟大的吉姆·格雷和路透社的读物很难读:
事务处理、概念和技术
再说一次,如果严重的话,不要理会其他任何事情..它已经脱离了这个世界,当然也脱离了 IBM 或 Oracle 追逐的 mySQL..
SQLite 源非常易于了解数据库实现。
PostgreSQL 是一个写得很好的软件,比 SQLite 复杂度更高。
我和一位同事从Database in Depth: Relational Theory for Practitioners 中获得了大量信息 非常低级的东西,但听起来这就是您正在寻找的东西。
看看数据库系统: Hector Garcia-Molina、Jeffrey D. Ullman、Jennifer D. Widom 所著的全书。它专门针对 DBMS 的内部结构。
SquareCog 的回答也包含一些明智的建议;我没有看过上面提到的两本书(尽管根据亚马逊的说法,Stonebreaker “架构”一书只有 136 页,这似乎有点轻量级)。
这是关于驱动 Microsoft SQL Server 2005+ 的 SQLOS 的有趣读物。
关于内部的深入信息是特定于数据库的,这里是 SQL Server 2008 的来源:http: //www.amazon.com/Microsoft%C2%AE-SQL-Server%C2%AE-2008-Internals/dp/0735626243
不是每个人都喜欢他的风格,但我发现 Joe Celko 在解释驱动 SQL 数据库的基于集合的逻辑方面做得很好。如果您已经有了一点 SQL 经验,那么您应该阅读SQL for Smarties。
确保你得到的任何东西都涵盖了关系代数和关系微积分。如果您没有基本的理论背景,那么深入研究数据库内部是没有意义的。除此之外,任何大学风格的数据库教科书都可能就足够了。