七周七資料庫

1274.5.3 1625.4.3 2157.2.3

內容介紹

如今,我們要面對和使用的數據正在變得越來越龐大和複雜。如果說數據是新的石油。那么資料庫就是油田、煉油廠、鑽井和油泵。作為一名現代的軟體開發者,我們需要了解數據管理的新領域,既包括rdbms,也包括nosql。
《七周七資料庫》遵循《七周七語言》的寫作風格和體例,帶領你學習和了解當令最熱門的開源資料庫。在簡單的介紹之後,本書分章介紹了7種資料庫。這些資料庫分別屬於5種不同的資料庫風格,但每種資料庫都有自己保存數據和看待世界的方式。它們依次是postgresql、riak、apache hbase、mongodb、apache couchdb、neo4j和redis。本書將深入每一種資料庫,介紹它們的優勢和不足,以及如何選取一種最符合你的套用需求的資料庫。
《七周七資料庫》適合資料庫架構師、資料庫管理員,以及想要了解和學習各種nosql資料庫技術的程式設計師閱讀。本書將幫助讀者了解、選擇和套用這些資料庫,從而更好地發揮日益增長的大數據的能力。
《七周七資料庫》適用於資料庫架構師、想要學習nosql資料庫技術的程式設計師、資料庫管理員。

作品目錄

第1章 概述 1
1.1 從一個問題開始 1
1.2 風格 2
1.2.1 關係資料庫 3
1.2.2 鍵-值資料庫 3
1.2.3 列型資料庫 4
1.2.4 文檔型資料庫 5
1.2.5 圖資料庫 5
1.2.6 混合使用多種資料庫 6
1.3 前進和提升 6
第2章 postgresql 7
2.1 這就是post-gres-q-l 7
2.2 第1天:關係、crud和聯接 8
2.2.1 從sql開始 10
2.2.2 使用表 10
2.2.3 使用聯接的查詢 13
2.2.4 外聯接 15
2.2.5 使用索引快速查找 16
2.2.6 第1天總結 18
.2.2.7 第1天作業 18
2.3 第2天:高級查詢、代碼和規則 19
2.3.1 聚合函式 19
2.3.2 分組 20
2.3.3 視窗函式 21
2.3.4 事務 22
2.3.5 存儲過程 24
2.3.6 觸發器 26
2.3.7 視圖 27
2.3.8 規則是什麼 28
2.3.9 聯表分析 30
2.3.10 第2天總結 32
2.4 第3天:全文檢索和多維查詢 32
2.4.1 模糊搜尋 34
2.4.2 sql標準的字元串匹配 34
2.4.3 字元串相似比較算法 levenshtein 35
2.4.4 三連詞 36
2.4.5 全文檢索 37
2.4.6 組合使用字元串匹配方法 42
2.4.7 把電影風格表示成多維超立方體 42
2.4.8 第3天總結 45
2.5 總結 46
2.5.1 postgresql的優點 46
2.5.2 postgresql的缺點 47
2.5.3 結束語 47
第3章 riak 48
3.1 riak喜歡web 48
3.2 第1天:crud、連結和mime 49
3.2.1 rest是最棒的(或用curl時) 51
3.2.2 將值放於桶中 52
3.2.3 連結 54
3.2.4 riak的mime類型 58
3.2.5 第1天總結 58
3.3 第2天:mapreduce和伺服器集群 59
3.3.1 填充腳本 59
3.3.2 mapreduce介紹 60
3.3.3 riak中的mapreduce 63
3.3.4 關於一致性和持久性 69
3.3.5 第2天總結 75
3.4 第3天:解決衝突和擴展riak 76
3.4.1 以向量時鐘解決衝突 76
3.4.2 擴展riak 83
3.4.3 第3天總結 87
3.5 總結 87
3.5.1 riak的優點 88
3.5.2 riak的缺點 88
3.5.3 riak之於cap 88
3.5.4 結束語 89
第4章 hbase 90
4.1 介紹hbase 91
4.2 第1天:crud和表管理 91
4.2.1 配置hbase 92
4.2.2 hbase的shell 93
4.2.3 創建表 93
4.2.4 插入、更新和讀取數據 95
4.2.5 修改表 96
4.2.6 通過編程方式添加數據 99
4.2.7 第1天總結 100
4.3 第2天:處理大數據 101
4.3.1 導入數據,調用腳本 101
4.3.2 流式xml 102
4.3.3 流式維基百科 103
4.3.4 壓縮和bloom過濾器 105
4.3.5 開始 106
4.3.6 區域和監控磁碟使用簡介 107
4.3.7 區域的問訊 108
4.3.8 掃描一個表來建立另一個表 111
4.3.9 構建掃描程式 112
4.3.10 運行腳本 114
4.3.11 檢查輸出 114
4.3.12 第2天總結 116
4.4 第3天:放入雲端 117
4.4.1 開發thrift協定的hbase套用 117
4.4.2 whirr簡介 121
4.4.3 設定ec2 121
4.4.4 準備whirr 122
4.4.5 配置集群 122
4.4.6 啟動集群 123
4.4.7 連線集群 124
4.4.8 銷毀集群 125
4.4.9 第3天總結 125
4.5 總結 126
4.5.1 hbase的優點 126
4.5.2 hbase的缺點 127
4.5.3 hbase on cap 127
4.5.4 結束語 128
第5章 mongodb 129
5.1 其大無比 129
5.2 第1天:crud和嵌套 130
5.2.1 命令行的樂趣 131
5.2.2 mongo的更多有趣內容 134
5.2.3 深入挖掘 136
5.2.4 更新 140
5.2.5 引用 142
5.2.6 刪除 143
5.2.7 用代碼來讀取 144
5.2.8 第1天總結 145
5.3 第2天:索引、分組和mapreduce 146
5.3.1 索引:如果還不夠快 146
5.3.2 聚合查詢 150
5.3.3 伺服器端命令 152
5.3.4 mapreduce(以及finalize) 155
5.3.5 第2天總結 159
5.4 第3天:副本集、分片、地理空間和gridfs 159
5.4.1 副本集 159
5.4.2 偶數節點的問題 162
5.4.3 分片 163
5.4.4 地理空間查詢 165
5.4.5 gridfs 167
5.4.6 第3天總結 168
5.5 總結 168
5.5.1 mongo的優點 168
5.5.2 mongo的缺點 169
5.5.3 結束語 169
第6章 couchdb 170
6.1 在沙發上放鬆 170
6.2 第1天:crud、futon與curl redux 171
6.2.1 享受futon 171
6.2.2 用curl執行基於rest的crud操作 175
6.2.3 用get讀取文檔 175
6.2.4 用post新建文檔 176
6.2.5 用put更新文檔 177
6.2.6 用delete移除文檔 178
6.2.7 第1天總結 178
6.3 第2天:創建/查詢視圖 179
6.3.1 通過視圖訪問文檔 179
6.3.2 編寫你的第一個視圖 181
6.3.3 將視圖另外儲存為“設計文檔” 183
6.3.4 由name查找artists 184
6.3.5 由name查找albums 184
6.3.6 查詢自定義的artist與album視圖 185
6.3.7 使用ruby將數據導入couchdb 187
6.3.8 第2天總結 192
6.4 第3天:進階視圖、changes api以及複製數據 192
6.4.1 用規約器創建進階視圖 193
6.4.2 規約器調用詳解 195
6.4.3 監控couchdb的變化 196
6.4.4 連續監控變化 201
6.4.5 在couchdb中複製數據 204
6.4.6 第3天總結 208
6.5 總結 209
6.5.1 couchdb的優點 209
6.5.2 couchdb的缺點 209
6.5.3 結束語 209
第7章 neo4j 211
7.1 neo4j,白板友好的資料庫 211
7.2 第1天:圖、groovy和crud 212
7.2.1 neo4j之web接口 213
7.2.2 通過gremlin操作neo4j 215
7.2.3 pipe的威力 218
7.2.4 pipeline與頂點 221
7.2.5 無模式的社會性數據 221
7.2.6 墊腳石 223
7.2.7 引入groovy 225
7.2.8 特定領域的步驟 227
7.2.9 更新、刪除與完成 229
7.2.10 第1天總結 230
7.3 第2天:rest、索引與算法 230
7.3.1 引入rest 230
7.3.2 用rest新建節點與關係 231
7.3.3 查找路徑 232
7.3.4 索引 233
7.3.5 rest與gremlin 235
7.3.6 大數據 235
7.3.7 功能全面的算法 237
7.3.8 第2天總結 242
7.4 第3天:分散式高可用性 243
7.4.1 事務 243
7.4.2 高可用性 244
7.4.3 ha集群 245
7.4.4 備份 250
7.4.5 第3天總結 251
7.5 總結 251
7.5.1 neo4j的優點 251
7.5.2 neo4j的缺點 252
7.5.3 neo4j之於cap 252
7.5.4 結束語 252
第8章 redis 254
8.1 數據結構伺服器存儲庫 254
8.2 第1天:crud與數據類型 255
8.2.1 入門指南 255
8.2.2 事務 257
8.2.3 複雜數據類型 258
8.2.4 到期 265
8.2.5 資料庫命名空間 266
8.2.6 更多命令 267
8.3 第2天:高級用法、分布 268
8.3.1 一個簡單的接口 268
8.3.2 伺服器信息 271
8.3.3 redis配置 272
8.3.4 aof(append only file) 274
8.3.5 主從複製 276
8.3.6 數據轉儲 277
8.3.7 redis集群 279
8.3.8 bloom過濾器 280
8.3.9 setbit和getbit 282
8.3.10 第2天總結 283
8.4 第3天:與其他資料庫合作 284
8.4.1 多持久並存服務 284
8.4.2 數據填充 285
8.4.3 關係存儲 291
8.4.4 服務 293
8.4.5 第3天總結 296
8.5 總結 297
8.5.1 redis的優點 297
8.5.2 redis的缺點 297
8.5.3 結束語 298
第9章 結束語 299
9.1 類型終極版 299
9.1.1 關係型 299
9.1.2 鍵-值存儲庫 300
9.1.3 列型 301
9.1.4 文檔型 301
9.1.5 圖 302
9.2 選擇 303
9.3 我們將走向哪裡 303
附錄a 資料庫概述表 305
附錄b cap定理 307

相關詞條

熱門詞條

聯絡我們