书籍名称:Database Systems: The Complete Book (2nd Edition)
http://www.amazon.com/Database-Systems-Complete-Book-Edition/dp/0131873253
书籍官方网站:http://infolab.stanford.edu/~ullman/dscb.html
内容:
以前作者写了两本书,一本数据库,一本数据库实作,后来作者把两本改写成一本。
数据库实作的部分是其他书籍无法找到,而其他数据库书籍有的,这本也有。
该内容讲述数据库引擎如何编译SQL query,资料怎么存入硬盘,怎么读取、建索引。
以及如何让SQL处理得更快,怎么列举可能的SQL实作方式,然后估计成本,
选成本最小的执行。如join ordering的动态规划算法,
各种不同的join算法,如hash join、sort-merge join等等。
具体来说,这本书独特的是以下内容:
table page、cache、buffer pool management、b-tree、query最佳化,
涵盖各种operators的实作,
如select、join、external mergesort。
和memory不够时,two-pass甚至multi-pass的算法及其成本估计
心得:
大部分数据库的书籍都没有把数据库实作讲得很深入,至于与其他书籍有重叠的部分,
个人就不多做评论,因为一定是青菜萝卜各有所好。
若搭配能实作的code,边参考postgre sql边参考本书,相信能理解更多。
今年的Turing award颁给了数据库领域,之后会有更多类似的书籍吧。
适合阅读者:
对数据库已有认识,想知道怎么让数据库系统更有效率的读者