
引言
NoSQL權威指南
“沒有什么會比引入新秩序更難,因為創新者必須要面對那些在舊環境中已經做得很好的對手,以及那些在新環境中做得很好的冷漠者。”
——Niccolo Machiavelli [1]
在過去的幾十年,我已經通過Elsevier/Morgan Kaufmann出版社出版了一系列的書,這些書幾乎全部是關于SQL和RDBMS的。而這本書對行業媒體中所謂的大數據、新SQL或NoSQL(我們這些極客非常喜歡流行語)做了一些概述。第一個創造或挖掘了新名詞的專欄作家或博主很可能會在維基百科上有對其(新名詞)進行的闡述,甚至可能會寫成一本書來討論。
由于SQL模型是事實上的主導數據庫模型,因此任何其他模型都會被認為是挑戰者。但是,我們應該用什么流行詞來表示這種新的模型呢?我們已經在SQL中存放數PB的數據很多年了,因此,“大數據”這個詞看起來并不合適。而且,SQL每五年會引入一個新的ANSI/ISO標準并發布,并不是一夜之間就從“舊SQL”變為“新SQL”的。“新SQL”這個名詞讓我想起了新可口可樂(New Coke[2
]),新可口可樂并沒有激發用戶的信心,也沒有獲得成功
目錄
第1章 NoSQL和事務處理
1.1 批處理中的數據庫事務處理
1.2 磁盤處理中的事務處理
1.3 ACID
1.4 悲觀并發詳解
1.5 CAP定理
1.6 BASE
1.7 服務器端一致性
1.8 錯誤處理
1.9 為什么在這些場景下SQL不能發揮作用
第2章 列式數據庫
2.1 列式數據庫的歷史
2.2 技術原理
2.3 查詢優化
2.4 多用戶和硬件
2.5 執行一個ALTER語句
2.6 數據倉庫和列式數據庫