目錄
第一部分 了解NoSQL
第1章 NoSQL:明智的選擇 2
1.1 什么是NoSQL 3
1.2 NoSQL的商業(yè)驅動 4
1.2.1 容量 5
1.2.2 速度 5
1.2.3 敏捷性 6
1.3 NoSQL案例研究 6
1.3.1 案例研究:LiveJournal的Memcache技術 7
1.3.2 案例研究:Google的MapReduce——利用商用硬件生成搜索索引 7
1.3.3 案例研究:Google的Bigtable——一個有著數十億行和百萬列的表 8
1.3.4 案例研究:亞馬遜的Dynamo—每天24小時接收訂單 9
1.3.5 案例研究:MarkLogic 9
1.3.6 實踐 10
1.4 小結 10
第2章 NoSQL概念 12
2.1 保持組件簡單以促進重用 12
2.2 將應用分層以簡化設計 14
2.3 策略地使用RAM、SSD和磁盤提升性能 17
2.4 使用一致性散列算法維護當前的緩存 18
2.5 比較ACID和BASE——兩種可靠的數據庫事務方法 19
2.5.1 RDBMS的事務控制——ACID 21
2.5.2 非RDBMS的事務控制—BASE 22
2.6 通過數據庫分片獲得水平擴展能力 23
2.7 基于Brewer的CAP定理進行權衡 25
2.8 實踐 26
2.9 小結 27
2.10 延伸閱讀 27
第二部分 數據庫模式
第3章 基礎數據架構模式 30
3.1 什么是數據架構模式 31
3.2 理解應用于RDBMS的行存儲設計模式 31
3.2.1 行存儲如何工作 32
3.2.2 行存儲的演變 33
3.2.3 分析行存儲模式的優(yōu)點和缺點 34
3.3 示例:對銷售訂單進行連接操作 35
3.4 回顧RDBMS實現的特性 36
3.4.1 RDBMS事務 37
3.4.2 固定的數據定義語言和強類型的列 38
3.4.3 通過RDBMS視圖保證安全并進行訪問控制 39
3.4.4 RDBMS的復制和同步 39
3.5 通過OLAP、數據倉庫和商業(yè)智能系統對歷史數據進行分析 41
3.5.1 數據如何從操作型系統流入分析型系統 42
3.5.2 熟悉OLAP的概念 44
3.5.3 通過匯總生成專項報表 45