MongoDB權威指南, 2/e MongoDB权威指南(第2版)

霍多羅夫 (Kristina Chodorow)

  • 出版商: 人民郵電
  • 出版日期: 2014-01-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 390
  • 裝訂: 平裝
  • ISBN: 7115341087
  • ISBN-13: 9787115341082
  • 相關分類: NoSQLMongoDB
  • 無法訂購

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

與傳統的關係型數據庫不同,MongoDB是一種面向文檔的數據庫。霍多羅夫編著的《MongoDB權威指南(第2版)》這一版共分為六部分,涵蓋開發、管理以及部署的各個方面。第一部分展示MongoDB基礎知識、核心概念。第二部分介紹使用MongoDB進行開發,包括索引的概念以及各種特殊索引和集合的用法等。第三部分講述複製,包括副本集的相關概念、創建方法,與應用程序的交互等。第四部討論分片,包括分片的配置,片鍵的選擇,集群的管理。第五部分闡述創建索引、移動和壓縮數據等管理任務,以及MongoDB的持久數據存儲。最後一部分集中說明服務器管理。
《MongoDB權威指南(第2版)》適合數據庫開發和管理人員閱讀。

 

<章節目錄>

序 XV
前言 XVII
第一部分 MongoDB介紹
第1章 MongoDB簡介 3
1.1 易於使用 3
1.2 易於擴展 4
1.3 豐富的功能 4
1.4 卓越的性能 5
1.5 小結 5
第2章 MongoDB基礎知識 7
2.1 文檔 7
2.2 集合 8
  2.2.1 動態模式 8
  2.2.2 命名 9
2.3 數據庫 10
2.4 啟動MongoDB 11
2.5 MongoDB shell簡介 12
  2.5.1 運行shell 12
  2.5.2 MongoDB客戶端 13
  2.5.3 shell中的基本操作 14
2.6 數據類型 16
  2.6.1 基本數據類型 16
  2.6.2 日期 18
  2.6.3 數組 18
  2.6.4 內嵌文檔 19
  2.6.5 _id和ObjectId 20
2.7 使用MongoDB shell 21
  2.7.1 shell小貼士 22
  2.7.2 使用shell執行腳本 23
  2.7.3 創建.mongorc.js文件 25
  2.7.4 定製shell提示 26
  2.7.5 編輯複合變量 26
  2.7.6 集合命名註意事項 27
第3章 創建、更新和刪除文檔 29
3.1 插入並保存文檔 29
  3.1.1 批量插入 29
  3.1.2 插入校驗 30
3.2 刪除文檔 31
3.3 更新文檔 32
  3.3.1 文檔替換 32
  3.3.2 使用修改器 34
  3.3.3 upsert 45
  3.3.4 更新多個文檔 47
  3.3.5 返回被更新的文檔 48
3.4 寫入安全機制 50
第4章 查詢 53
4.1 find簡介 53
  4.1.1 指定需要返回的鍵 54
  4.1.2 限制 55
4.2 查詢條件 55

  4.2.1 查詢條件 55
  4.2.2 OR查詢 56
  4.2.3 $not 57
  4.2.4 條件語義 57
4.3 特定類型的查詢 58
  4.3.1 null 58
  4.3.2 正則表達式 59
  4.3.3 查詢數組 59
  4.3.4 查詢內嵌文檔 64
4.4 $where查詢 65
4.5 光標 67
  4.5.1 limit、skip和sort 69
  4.5.2 避免使用skip略過大量結果 70
  4.5.3 高級查詢選項 72
  4.5.4 獲取一致結果 73
  4.5.5 光標生命周期 75
4.6 數據庫命令 75
第二部分 設計應用
第5章 索引 81
5.1 索引簡介 81
  5.1.1 複合索引簡介 84
  5.1.2 使用複合索引 90
  5.1.3 $操作符如何使用索引 91
  5.1.4 索引對象和數組 96
  5.1.5 索引基數 98
5.2 使用explain()和hint() 98
5.3 何時不應該使用索引 103
5.4 索引類型 104
  5.4.1 唯一索引 104
  5.4.2 稀疏索引 106
5.5 索引管理 107
  5.5.1 標識索引 108
  5.5.2 修改索引 108
第6章 特殊的索引和集合 111
6.1 固定集合  111
  6.1.1 創建固定集合 113
  6.1.2 自然排序 113
  6.1.3 循環遊標 115
  6.1.4 沒有_id索引的集合 115
6.2 TTL索引 116
6.3 全文本索引 116
  6.3.1 搜索語法 119
  6.3.2 優化全文本搜索 120
  6.3.3 在其他語言中搜索 121
6.4 地理空間索引 121
  6.4.1 地理空間查詢的類型 122
  6.4.2 複合地理空間索引 123
  6.4.3 2d索引 123
6.5 使用GridFS存儲文件 125
  6.5.1 GridFS入門 126

  6.5.2 在MongoDB驅動程序中使用GridFS 126
  6.5.3 揭開GridFS的面紗 127
第7章 聚合 129
7.1 聚合框架 129
7.2 管道操作符 131
  7.2.1 $match 132
  7.2.2 $project 132
  7.2.3 $group 137
  7.2.4 $unwind 140
  7.2.5 $sort 141
  7.2.6 $limit 142
  7.2.7 $skip 142
  7.2.8 使用管道 142
7.3 MapReduce 143
  7.3.1 示例1:找出集合中的所有鍵 143
  7.3.2 示例2:網頁分類 145
  7.3.3 MongoDB和MapReduce 146
7.4 聚合命令 148
  7.4.1 count 149
  7.4.2 distinct 149
  7.4.3 group 150
第8章 應用程序設計 155
8.1 範式化與反範式化 155
  8.1.1 數據表示的例子 156
  8.1.2 基數 159
  8.1.3 好友、粉絲,以及其他的麻煩事項 160
8.2 優化數據操作 162
  8.2.1 優化文檔增長 162
  8.2.2 刪除舊數據 164
8.3 數據庫和集合的設計 164
8.4 一致性管理 165
8.5 模式遷移 166
8.6 不適合使用MongoDB的場景 167
第三部分 複製
第9章 創建副本集 171
9.1 複製簡介 171
9.2 建立副本集 172
9.3 配置副本集 176
  9.3.1 rs輔助函數 178
  9.3.2 網絡註意事項 178
9.4 修改副本集配置 178
9.5 設計副本集 180
9.6 成員配置選項 184
  9.6.1 選舉仲裁者 184
  9.6.2 優先級 185
  9.6.3 隱藏成員 186
  9.6.4 延遲備份節點 187
  9.6.5 創建索引 187
第10章 副本集的組成 189
10.1 同步 189

  10.1.1 初始化同步 190
  10.1.2 處理陳舊數據 193
10.2 心跳 193
10.3 選舉 195
10.4 回滾 195
第11章 從應用程序連接副本集 201
11.1 客戶端到副本集的連接 201
11.2 等待寫入複製 202
  11.2.1 可能導致錯誤的原因 203
  11.2.2 "w"的其他值 204
11.3 自定義複製保證規則 204
  11.3.1 保證複製到每個數據中心的一臺服務器上 204
  11.3.2 保證寫操作被複制到可見節點中的「大多數」 206
  11.3.3 創建其他規則 206
11.4 將讀請求發送到備份節點 207
  11.4.1 出於一致性考慮 207
  11.4.2 出於負載的考慮 208
  11.4.3 何時可以從備份節點讀取數據 208
第12章 管理 211
12.1 以單機模式啟動成員 211
12.2 副本集配置 212
  12.2.1 創建副本集 212
  12.2.2 修改副本集成員 213
  12.2.3 創建比較大的副本集 213
  12.2.4 強制重新配置 214
12.3 修改成員狀態 215
  12.3.1 把主節點變為備份節點 215
  12.3.2 阻止選舉 215
  12.3.3 使用維護模式 215
12.4 監控複製 216
  12.4.1 獲取狀態 216
  12.4.2 複製圖譜 218
  12.4.3 複製循環 220
  12.4.4 禁用複製鏈 220
  12.4.5 計算延遲 221
  12.4.6 調整oplog大小 222
  12.4.7 從延遲備份節點中恢復 223
  12.4.8 創建索引 224
  12.4.9 在預算有限的情況下進行複製 225
  12.4.10 主節點如何跟蹤延遲 226
12.5 主從模式 227
  12.5.1 從主從模式切換到副本集模式 228
  12.5.2 讓副本集模仿主從模式的行為 228
第四部分 分片
第13章 分片 233
13.1 分片簡介 233
13.2 理解集群的組件 234
13.3 快速建立一個簡單的集群 235
第14章 配置分片 243
14.1 何時分片 243

14.2 啟動服務器 244
  14.2.1 配置服務器 244
  14.2.2 mongos進程 245
  14.2.3 將副本集轉換為分片 245
  14.2.4 增加集群容量 247
  14.2.5 數據分片 247
14.3 MongoDB如何追蹤集群數據 248
  14.3.1 塊範圍 249
  14.3.2 拆分塊 250
14.4 均衡器 254
第15章 選擇片鍵 257
15.1 檢查使用情況 257
15.2 數據分發 258
  15.2.1 升序片鍵 258
  15.2.2 隨機分發的片鍵 261
  15.2.3  基於位置的片鍵 262
15.3 片鍵策略 263
  15.3.1 散列片鍵 264
  15.3.2 GridFS的散列片鍵 265
  15.3.3 流水策略 266
  15.3.4 多熱點 267
15.4 片鍵規則和指導方針 270
  15.4.1 片鍵限制 270
  15.4.2 片鍵的勢 270
15.5 控制數據分發 270
  15.5.1 對多個數據庫和集合使用一個集群 270
  15.5.2 手動分片 272
第16章 分片管理 275
16.1 檢查集群狀態 275
  16.1.1 使用sh.status查看集群摘要信息 275
  16.1.2 檢查配置信息 277
16.2 查看網絡連接 282
  16.2.1 查看連接統計 283
  16.2.2 限制連接數量 283
16.3 服務器管理 285
  16.3.1 添加服務器 285
  16.3.2 修改分片的服務器 285
  16.3.3 刪除分片 286
  16.3.4 修改配置服務器 288
16.4 數據均衡 289
  16.4.1 均衡器 289
  16.4.2 修改塊大小 290
  16.4.3 移動塊 290
  16.4.4 特大塊 292
  16.4.5 刷新配置 295
第五部分 應用管理
第17章 瞭解應用的動態 299
17.1 瞭解正在進行的操作 299
  17.1.1 尋找有問題的操作 301
  17.1.2 終止操作的執行 301

  17.1.3 假象 302
  17.1.4 避免幽靈操作 302
17.2 使用系統分析器 303
17.3 計算空間消耗 305
  17.3.1 文檔 305
  17.3.2 集合 305
  17.3.3 數據庫 306
17.4 使用mongotop和monogostat 307
第18章 數據管理 311
18.1 配置身份驗證 311
  18.1.1 身份驗證基本原理 312
  18.1.2 配置身份驗證 313
  18.1.3 身份驗證的工作原理 314
18.2 建立和刪除索引 315
  18.2.1 在獨立的服務器上建立索引 315
  18.2.2 在副本集上建立索引 315
  18.2.3 在分片集群上建立索引 316
  18.2.4 刪除索引 316
  18.2.5 註意內存溢出殺手 316
18.3 預熱數據 317
  18.3.1 將數據庫移至內存 317
  18.3.2 將集合移至內存 318
  18.3.3 自定義預熱 318
18.4 壓縮數據 320
18.5 移動集合 321
18.6 預分配數據文件 322
第19章 持久性 323
19.1 日記系統的用途 323
  19.1.1 批量提交寫入操作 324
  19.1.2 設定提交時間間隔 325
19.2 關閉日記系統 325
  19.2.1 替換數據文件 325
  19.2.2 修複數據文件 326
  19.2.3 關於mongod.lock文件 326
  19.2.4 隱蔽的異常退出 327
19.3 MongoDB無法保證的事項 327
19.4 檢驗數據損壞 327
19.5 副本集中的持久性 329
第六部分 服務器管理
第20章 啟動和停止MongoDB 333
20.1 從命令行啟動 333
20.2 停止MongoDB 336
20.3 安全性 337
  20.3.1 數據加密 338
  20.3.2 SSL安全連接 338
20.4 日誌 338
第21章 監控MongoDB 341
21.1 監控內存使用狀況 341
  21.1.1 有關電腦內存的介紹 341
  21.1.2 跟蹤監測內存使用狀況 342

  21.1.3 跟蹤監測缺頁中斷 343
  21.1.4 減少索引樹的脫靶次數 345
  21.1.5 IO延遲 345
  21.1.6 跟蹤監測後台刷新平均時間 346
21.2 計算工作集的大小 347
21.3 跟蹤監測性能狀況 349
21.4 監控副本集 352
第22章 備份 355
22.1 對服務器進行備份 355
  22.1.1 文件系統快照 355
  22.1.2 複製數據文件 356
  22.1.3 使用mongodump 357
22.2 對副本集進行備份 359
22.3 對分片集群進行備份 360
  22.3.1 備份和恢復整個集群 360
  22.3.2 備份和恢復單獨的分片 360
22.4 使用mongooplog進行增量備份 361
第23章 部署MongoDB 363
23.1 設計系統結構 363
  23.1.1 選擇存儲介質 363
  23.1.2 推薦的RAID配置 367
  23.1.3 CPU 368
  23.1.4 選擇操作系統 368
  23.1.5 交換空間 369
  23.1.6 文件系統 369
23.2 虛擬化 370
  23.2.1 禁止內存過度分配 370
  23.2.2 神秘的內存 370
  23.2.3 處理網絡磁盤的IO問題 371
  23.2.4 使用非網絡磁盤 372
23.3 系統配置 372
  23.3.1 禁用NUMA 372
  23.3.2 更智能地預讀取數據 375
  23.3.3 禁用大內存頁面 376
  23.3.4 選擇一種磁盤調度演算法 377
  23.3.5 不要記錄訪問時間 377
  23.3.6 修改限制 378
23.4 網絡配置 379
23.5 系統管理 381
  23.5.1 時鐘同步 381
  23.5.2 OOM Killer 381
  23.5.3 關閉定期任務 382
附錄A 安裝MongoDB 383
附錄B 深入MongoDB 387

 

<作者介紹>

(美)霍多羅夫|譯者:鄧強//王明輝