書籍名稱: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頒給了資料庫領域,之後會有更多類似的書籍吧。
適合閱讀者:
對資料庫已有認識,想知道怎麼讓資料庫系統更有效率的讀者