所以我想说你想学习一些关于数据库内部的东西。什么是最好的源代码?最好买的书?
前几天我和一个好友谈论这件事,他建议:
Art of Computer Programming, Volume 3: Sorting and Searching
还有哪些书可以帮助我了解所有文件IO和内存问题,页面,锁定等等。?
答案 0 :(得分:14)
教科书:由Ramakrishnan和Gehrke撰写的Database Management Systems。
或者:Hellerstein,Stonebraker和Hamilton的Architecture of a Database System。
生产代码:PostgreSQL
(我比PGite更喜欢PG代码,它更完整,而且我认为更有条理.SQLite对于它的功能非常棒,但有很多它没有用。)
额外学分:Readings in Database Systems, 4th edition由Hellerstein编辑。
答案 1 :(得分:7)
如果你真的很认真,虽然已经和已故的吉姆格雷和路透社一起读了一篇艰难的话:
交易处理,概念和技术
如果说是严肃的话,不要再为其他任何事情烦恼了......它已经离开了这个世界,当然也是出于我对IBM或甲骨文的追逐......
答案 2 :(得分:4)
SQLite源非常易于了解数据库实现。
PostgreSQL是一个写得很好的软件,比SQLite的复杂性更高。
答案 3 :(得分:2)
一位同事和我从Database in Depth: Relational Theory for Practitioners非常低级别的东西中获得了大量信息,但听起来这就是你正在寻找的东西。
答案 4 :(得分:2)
由Hector Garcia-Molina,Jeffrey D. Ullman,Jennifer D. Widom看看Database Systems: The Complete Book。它具体是关于DBMS的内部。
SquareCog的回答也包含明智的建议;我没看过上面提到的两本书(虽然根据亚马逊的说法,Stonebreaker“建筑”书只有136页,这看起来有点轻巧。)
答案 5 :(得分:1)
Here's an interesting read关于SQLOS,它驱动Microsoft SQL Server 2005 +。
答案 6 :(得分:1)
有关内部的深入信息是特定于数据库的,这里是SQL Server 2008的源代码: http://www.amazon.com/Microsoft%C2%AE-SQL-Server%C2%AE-2008-Internals/dp/0735626243
答案 7 :(得分:1)
并非所有人都喜欢他的风格,但我发现Joe Celko在解释驱动SQL数据库的基于集合的逻辑方面做得很好。如果您已经掌握了一点SQL经验,那么您应该阅读SQL for Smarties。
答案 8 :(得分:0)
确保无论你得到什么都包括关系代数和关系演算。如果您没有基本的理论背景,那就无需深入研究数据库内部。过去,任何大学风格的数据库教科书都可能就足够了。