目    錄
          第一部分  NoSQL入門
         第1章  NoSQL的概念及適用範圍  2
         1.1  定義和介紹  3
         1.1.1  背景與曆史  3
         1.1.2  大數據  5
         1.1.3  可擴展性  7
         1.1.4  MapReduce  8
         1.2  麵嚮列的有序存儲  9
         1.3  鍵/值存儲  11
         1.4  文檔數據庫  14
         1.5  圖形數據庫  15
         1.6  小結  16
         第2章  NoSQL上手初體驗  17
         2.1  第一印象——兩個簡單的例子  17
         2.1.1  簡單的位置偏好數據集  17
         2.1.2  存儲汽車品牌和型號數據  22
         2.2  使用多種語言  30
         2.2.1  MongoDB驅動  30
         2.2.2  初識Thrift  33
         2.3  小結  34
         第3章  NoSQL接口與交互  36
         3.1  沒瞭SQL還剩什麼  36
         3.1.1  存儲和訪問數據  37
         3.1.2  MongoDB數據存儲與訪問  37
         3.1.3  MongoDB數據查詢  41
         3.1.4  Redis數據存儲與訪問  43
         3.1.5  Redis數據查詢  47
         3.1.6  HBase數據存儲與訪問  50
         3.1.7  HBase數據查詢  52
         3.1.8  Apache Cassandra數據存儲與訪問  54
         3.1.9  Apache Cassandra數據查詢  55
         3.2  NoSQL數據存儲的語言綁定  56
         3.2.1  Thrift  56
         3.2.2  Java  56
         3.2.3  Python  58
         3.2.4  Ruby  59
         3.2.5  PHP  59
         3.3  小結  60
         第二部分  NoSQL基礎
         第4章  理解存儲架構  62
         4.1  使用麵嚮列的數據庫  63
         4.1.1  使用關係型數據庫中的錶格和列  63
         4.1.2  列數據庫對比RDBMS  65
         4.1.3  列數據庫當做鍵/值對的嵌套映射錶  67
         4.1.4  Webtable布局  70
         4.2  HBase分布式存儲架構  71
         4.3  文檔存儲內部機製  73
         4.3.1  用內存映射文件存儲數據  74
         4.3.2  MongoDB集閤和索引使用指南  75
         4.3.3  MongoDB的可靠性和耐久性  75
         4.3.4  水平擴展  76
         4.4  鍵/值存儲Memcached和Redis  78
         4.4.1  Memcached的內部結構  78
         4.4.2  Redis的內部結構  79
         4.5  最終一緻性非關係型數據庫  80
         4.5.1  一緻性哈希  81
         4.5.2  對象版本  82
         4.5.3  閑話協議和提示移交  83
         4.6  小結  83
         第5章  執行CRUD操作  84
         5.1  創建記錄  84
         5.1.1  在以文檔為中心的數據庫中創建記錄  85
         5.1.2  麵嚮列數據庫的創建操作  91
         5.1.3  鍵/值映射錶的創建操作  93
         5.2  訪問數據  96
         5.2.1  用MongoDB訪問文檔  96
         5.2.2  用HBase訪問數據  97
         5.2.3  查詢Redis  98
         5.3  更新和刪除數據  98
         5.3.1  使用MongoDB、HBase和Redis更新及修改數據  98
         5.3.2  有限原子性和事務完整性  99
         5.4  小結  100
         第6章  查詢NoSQL存儲  101
         6.1  SQL與MongoDB查詢功能的相似點  101
         6.1.1  加載MovieLens數據  103
         6.1.2  MongoDB中的MapReduce  108
         6.2  訪問HBase等麵嚮列數據庫中的數據  111
         6.3  查詢Redis數據存儲  113
         6.4  小結  116
         第7章  修改數據存儲及管理演進  117
         7.1  修改文檔數據庫  117
         7.1.1  弱schema的靈活性  120
         7.1.2  MongoDB的數據導入與導齣  121
         7.2  麵嚮列數據庫中數據schema的演進  124
         7.3  HBase數據導入與導齣  125
         7.4  鍵/值存儲中的數據演變  126
         7.5  小結  126
         第8章  數據索引與排序  127
         8.1  數據庫索引的基本概念  127
         8.2  MongoDB的索引與排序  128
         8.3  MongoDB裏創建和使用索引  131
         8.3.1  組閤與嵌套鍵  136
         8.3.2  創建唯一索引和稀疏索引  138
         8.3.3  基於關鍵字的搜索和多重鍵  139
         8.4  CouchDB的索引與排序  140
         8.5  Apache Cassandra的索引與排序  141
         8.6  小結  143
         第9章  事務和數據完整性的管理  144
         9.1  RDBMS和ACID  144
         9.2  分布式ACID係統  147
         9.2.1  一緻性  149
         9.2.2  可用性  149
         9.2.3  分區容忍性  149
         9.3  維持CAP  151
         9.3.1  妥協可用性  153
         9.3.2  妥協分區容忍性  153
         9.3.3  妥協一緻性  154
         9.4  NoSQL産品的一緻性實現  155
         9.4.1  MongoDB的分布一緻性  155
         9.4.2  CouchDB的最終一緻性  155
         9.4.3  Apache Cassandra的最終一緻性  156
         9.4.4  Membase的一緻性  157
         9.5  小結  157
         第三部分  熟悉NoSQL
         第10章  使用雲中的NoSQL  160
         10.1  Google App Engine  161
         10.1.1  GAE Python SDK:安裝、設置和起步  161
         10.1.2  使用Python進行基本的GAE數據建模  165
         10.1.3  查詢與索引  168
         10.1.4  過濾和結果排序  170
         10.1.5  Java App Engine SDK  172
         10.2  Amazon SimpleDB  175
         10.2.1  SimpleDB入門  176
         10.2.2  使用REST API  178
         10.2.3  使用Java訪問SimpleDB  181
         10.2.4  通過Ruby和Python使用SimpleDB  182
         10.3  小結  183
         第11章  MapReduce可擴展並行處理  185
         11.1  理解MapReduce  186
         11.1.1  找齣每股最高價  188
         11.1.2  加載曆史NYSE市場數據到CouchDB  189
         11.2  MapReduce和HBase  192
         11.3  MapReduce和Apache Mahout  196
         11.4  小結  197
         第12章  使用Hive分析大數據  199
         12.1  Hive基礎  199
         12.2  迴到電影評分  203
         12.3  親切的SQL  209
         12.4  HiveQL連接  211
         12.4.1  計劃解釋  213
         12.4.2  分區錶  215
         12.5  小結  215
         第13章  綜覽數據庫內部  216
         13.1  MongoDB內部  217
         13.1.1  MongoDB傳輸協議  218
         13.1.2  插入文檔  219
         13.1.3  查詢集閤  219
         13.1.4  MongoDB數據庫文件  220
         13.2  Membase架構  222
         13.3  Hypertable底層  224
         13.3.1  正則錶達式支持  224
         13.3.2  布隆過濾器  224
         13.4  Apache Cassandra  225
         13.4.1  點對點模型  225
         13.4.2  基於Gossip和Antientropy  225
         13.4.3  快速寫  226
         13.4.4  提示移交  226
         13.5  Berkeley DB  226
         13.6  小結  228
         第四部分  掌握NoSQL
         第14章  選擇NoSQL  230
         14.1  比較NoSQL産品  230
         14.1.1  可擴展性  230
         14.1.2  事務完整性和一緻性  233
         14.1.3  數據模型  233
         14.1.4  查詢支持  235
         14.1.5  接口可用性  236
         14.2  性能測試  237
         14.2.1  50/50的讀和更新  237
         14.2.2  95/5的讀和更新  237
         14.2.3  掃描  238
         14.2.4  可擴展性測試  238
         14.2.5  Hypertable測試  238
         14.3  背景比較  239
         14.4  小結  240
         第15章  共存  241
         15.1  MySQL用作NoSQL  241
         15.2  靜態數據存儲  244
         15.2.1  存儲多元化在Facebook中的應用  245
         15.2.2  數據倉庫和商業智能  246
         15.3  Web框架和NoSQL  247
         15.3.1  Rails和NoSQL  247
         15.3.2  Django和NoSQL  248
         15.3.3  使用Spring Data  250
         15.4  從RDBMS遷移到NoSQL  254
         15.5  小結  254
         第16章  性能調校  256
         16.1  並行算法的目標  256
         16.1.1  減少延遲的含義  256
         16.1.2  如何增加吞吐  257
         16.1.3  綫性擴展  257
         16.2  公式與模型  257
         16.2.1  Amdahl法則  257
         16.2.2  Little法則  258
         16.2.3  消息成本模型  259
         16.3  分區  259
         16.4  規劃異構環境  260
         16.5  其他MapReduce調校  261
         16.5.1  通信成本  261
         16.5.2  壓縮  261
         16.5.3  文件塊大小  261
         16.5.4  並行復製  262
         16.6  HBase Coprocessor  262
         16.7  布隆過濾器  262
         16.8  小結  262
         第17章  工具和實用程序  263
         17.1  RRDTool  263
         17.2  Nagios  265
         17.3  Scribe  266
         17.4  Flume  267
         17.5  Chukwa  267
         17.6  Pig  268
         17.6.1  使用Pig  269
         17.6.2  Pig Latin基礎  269
         17.7  Nodetool  271
         17.8  OpenTSDB  272
         17.9  SOLANDRA  273
         17.10  Hummingbird和C5T  274
         17.11  GeoCouch  275
         17.12  Alchemy Database  276
         17.13  Webdis  276
         17.14  小結  276
         附錄A  安裝與配置  278
      · · · · · ·     (
收起)