《MongoDB權(quán)威指南(影印版第2版)》為數(shù)據(jù)庫開發(fā)人員提供了指南,為系統(tǒng)管理員提供了高級配置向?qū)В矠槟愕捻椖恐械钠渌藛T提供了概念和用例的概覽。這本指南適合于NoSQL的初學(xué)者和有經(jīng)驗的MongoDB 用戶,它提供了多種現(xiàn)實世界的模式設(shè)計樣例。
mongodb權(quán)威指南(第2版)簡介
《MongoDB權(quán)威指南(影印版第2版)》由霍多羅夫(Kristina Chodorow)著,本書主要內(nèi)容包括: 熟悉Mong0DB核心概念和術(shù)語 在不同的安全程度和速度上執(zhí)行基本的寫操作 創(chuàng)建復(fù)雜的查詢語句,帶有用來限制、跳過和排序結(jié)果的選項 設(shè)計一個可以和M0ngoDB協(xié)同工作的應(yīng)用 聚合數(shù)據(jù),包括統(tǒng)計、查找唯一值、文檔分組和使用MapReduce 整理和解釋針對采集數(shù)據(jù)和數(shù)據(jù)庫的統(tǒng)計結(jié)果 在M0ng0DB中建立主從集群和自動故障恢復(fù)機(jī)制 利用分片水平擴(kuò)展Mong0DB,了解其對應(yīng)用的影響 深入研究監(jiān)控、安全和認(rèn)證、備份和修復(fù)以及其他管理任務(wù)
mongodb權(quán)威指南(第2版)目錄
第一部分 MongoDB介紹
第1章 MongoDB簡介
1.1 易于使用
1.2 易于擴(kuò)展
1.3 豐富的功能
1.4 卓越的性能
1.5 小結(jié)
第2章 MongoDB基礎(chǔ)知識
2.1 文檔
2.2 集合
2.2.1 動態(tài)模式
2.2.2 命名
2.3 數(shù)據(jù)庫
2.4 啟動MongoDB
2.5 MongoDB shell簡介
2.5.1 運行shell
2.5.2 MongoDB客戶端
2.5.3 shell中的基本操作
2.6 數(shù)據(jù)類型
2.6.1 基本數(shù)據(jù)類型
2.6.2 日期
2.6.3 數(shù)組
2.6.4 內(nèi)嵌文檔
2.6.5 _id和ObjectId
2.7 使用MongoDB shell
2.7.1 shell小貼士
2.7.2 使用shell執(zhí)行腳本
2.7.3 創(chuàng)建.mongorc.js文件
2.7.4 定制shell提示
2.7.5 編輯復(fù)合變量
2.7.6 集合命名注意事項
第3章 創(chuàng)建、更新和刪除文檔
3.1 插入并保存文檔
3.1.1 批量插入
3.1.2 插入校驗
3.2 刪除文檔
3.3 更新文檔
3.3.1 文檔替換
3.3.2 使用修改器
3.3.3 upsert
3.3.4 更新多個文檔
3.3.5 返回被更新的文檔
3.4 寫入安全機(jī)制
第4章 查詢
4.1 find簡介
4.1.1 指定需要返回的鍵
4.1.2 限制
4.2 查詢條件
4.2.1 查詢條件
4.2.2 OR查詢
4.2.3 $not
4.2.4 條件語義
4.3 特定類型的查詢
4.3.1 null
4.3.2 正則表達(dá)式
4.3.3 查詢數(shù)組
4.3.4 查詢內(nèi)嵌文檔
4.4 $where查詢
4.5 游標(biāo)
4.5.1 limit、skip和sort
4.5.2 避免使用skip略過大量結(jié)果
4.5.3 高級查詢選項
4.5.4 獲取一致結(jié)果
4.5.5 游標(biāo)生命周期
4.6 數(shù)據(jù)庫命令
第二部分 設(shè)計應(yīng)用
第5章 索引
5.1 索引簡介
5.1.1 復(fù)合索引簡介
5.1.2 使用復(fù)合索引
5.1.3 $操作符如何使用索引
5.1.4 索引對象和數(shù)組
5.1.5 索引基數(shù)
5.2 使用explain()和hint()
5.3 何時不應(yīng)該使用索引
5.4 索引類型
5.4.1 唯一索引
5.4.2 稀疏索引
5.5 索引管理
5.5.1 標(biāo)識索引
5.5.2 修改索引
第6章 特殊的索引和集合
6.1 固定集合
6.1.1 創(chuàng)建固定集合
6.1.2 自然排序
6.1.3 循環(huán)游標(biāo)
6.1.4 沒有_id索引的集合
6.2 TTL索引
6.3 全文本索引
6.3.1 搜索語法
6.3.2 優(yōu)化全文本搜索
6.3.3 在其他語言中搜索
6.4 地理空間索引
6.4.1 地理空間查詢的類型
6.4.2 復(fù)合地理空間索引
6.4.3 2d索引
6.5 使用GridFS存儲文件
6.5.1 GridFS入門
6.5.2 在MongoDB驅(qū)動程序中使用GridFS
6.5.3 揭開GridFS的面紗
第7章 聚合
7.1 聚合框架
7.2 管道操作符
7.2.1 $match
7.2.2 $project
7.2.3 $group
7.2.4 $unwind
7.2.5 $sort
7.2.6 $limit
7.2.7 $skip
7.2.8 使用管道
7.3 MapReduce
7.3.1 示例1:找出集合中的所有鍵
7.3.2 示例2:網(wǎng)頁分類
7.3.3 MongoDB和MapReduce
7.4 聚合命令
7.4.1 count
7.4.2 distinct
7.4.3 group
第8章 應(yīng)用程序設(shè)計
8.1 范式化與反范式化
8.1.1 數(shù)據(jù)表示的例子
8.1.2 基數(shù)
8.1.3 好友、粉絲,以及其他的麻煩事項
8.2 優(yōu)化數(shù)據(jù)操作
8.2.1 優(yōu)化文檔增長
8.2.2 刪除舊數(shù)據(jù)
8.3 數(shù)據(jù)庫和集合的設(shè)計
8.4 一致性管理
8.5 模式遷移
8.6 不適合使用MongoDB的場景
第三部分 復(fù)制
第9章 創(chuàng)建副本集
9.1 復(fù)制簡介
9.2 建立副本集
9.3 配置副本集
9.3.1 rs輔助函數(shù)
9.3.2 網(wǎng)絡(luò)注意事項
9.4 修改副本集配置
9.5 設(shè)計副本集
9.6 成員配置選項
9.6.1 選舉仲裁者
9.6.2 優(yōu)先級
9.6.3 隱藏成員
9.6.4 延遲備份節(jié)點
9.6.5 創(chuàng)建索引
第10章 副本集的組成
10.1 同步
10.1.1 初始化同步
10.1.2 處理陳舊數(shù)據(jù)
10.2 心跳
10.3 選舉
10.4 回滾
第11章 從應(yīng)用程序連接副本集
11.1 客戶端到副本集的連接
11.2 等待寫入復(fù)制
11.2.1 可能導(dǎo)致錯誤的原因
11.2.2 "w"的其他值
11.3 自定義復(fù)制保證規(guī)則
11.3.1 保證復(fù)制到每個數(shù)據(jù)中心的一臺服務(wù)器上
11.3.2 保證寫操作被復(fù)制到可見節(jié)點中的“大多數(shù)”
11.3.3 創(chuàng)建其他規(guī)則
11.4 將讀請求發(fā)送到備份節(jié)點
11.4.1 出于一致性考慮
11.4.2 出于負(fù)載的考慮
11.4.3 何時可以從備份節(jié)點讀取數(shù)據(jù)
第12章 管理
12.1 以單機(jī)模式啟動成員
12.2 副本集配置
12.2.1 創(chuàng)建副本集
12.2.2 修改副本集成員
12.2.3 創(chuàng)建比較大的副本集
12.2.4 強(qiáng)制重新配置
12.3 修改成員狀態(tài)
12.3.1 把主節(jié)點變?yōu)閭浞莨?jié)點
12.3.2 阻止選舉
12.3.3 使用維護(hù)模式
12.4 監(jiān)控復(fù)制
12.4.1 獲取狀態(tài)
12.4.2 復(fù)制圖譜
12.4.3 復(fù)制循環(huán)
12.4.4 禁用復(fù)制鏈
12.4.5 計算延遲
12.4.6 調(diào)整oplog大小
12.4.7 從延遲備份節(jié)點中恢復(fù)
12.4.8 創(chuàng)建索引
12.4.9 在預(yù)算有限的情況下進(jìn)行復(fù)制
12.4.10 主節(jié)點如何跟蹤延遲
12.5 主從模式
12.5.1 從主從模式切換到副本集模式
12.5.2 讓副本集模仿主從模式的行為
第四部分 分片
第13章 分片
13.1 分片簡介
13.2 理解集群的組件
13.3 快速建立一個簡單的集群
第14章 配置分片
14.1 何時分片
14.2 啟動服務(wù)器
14.2.1 配置服務(wù)器
14.2.2 mongos進(jìn)程
14.2.3 將副本集轉(zhuǎn)換為分片
14.2.4 增加集群容量
14.2.5 數(shù)據(jù)分片
14.3 MongoDB如何追蹤集群數(shù)據(jù)
14.3.1 塊范圍
14.3.2 拆分塊
14.4 均衡器
第15章 選擇片鍵
15.1 檢查使用情況
15.2 數(shù)據(jù)分發(fā)
15.2.1 升序片鍵
15.2.2 隨機(jī)分發(fā)的片鍵
15.2.3 基于位置的片鍵
15.3 片鍵策略
15.3.1 散列片鍵
15.3.2 GridFS的散列片鍵
15.3.3 流水策略
15.3.4 多熱點
15.4 片鍵規(guī)則和指導(dǎo)方針
15.4.1 片鍵限制
15.4.2 片鍵的勢
15.5 控制數(shù)據(jù)分發(fā)
15.5.1 對多個數(shù)據(jù)庫和集合使用一個集群
15.5.2 手動分片
第16章 分片管理
16.1 檢查集群狀態(tài)
16.1.1 使用sh.status查看集群摘要信息
16.1.2 檢查配置信息
16.2 查看網(wǎng)絡(luò)連接
16.2.1 查看連接統(tǒng)計
16.2.2 限制連接數(shù)量
16.3 服務(wù)器管理
16.3.1 添加服務(wù)器
16.3.2 修改分片的服務(wù)器
16.3.3 刪除分片
16.3.4 修改配置服務(wù)器
16.4 數(shù)據(jù)均衡
16.4.1 均衡器
16.4.2 修改塊大小
16.4.3 移動塊
16.4.4 特大塊
16.4.5 刷新配置
第五部分 應(yīng)用管理
第17章 了解應(yīng)用的動態(tài)
17.1 了解正在進(jìn)行的操作
17.1.1 尋找有問題的操作
17.1.2 終止操作的執(zhí)行
17.1.3 假象
17.1.4 避免幽靈操作
17.2 使用系統(tǒng)分析器
17.3 計算空間消耗
17.3.1 文檔
17.3.2 集合
17.3.3 數(shù)據(jù)庫
17.4 使用mongotop和monogostat
第18章 數(shù)據(jù)管理
18.1 配置身份驗證
18.1.1 身份驗證基本原理
18.1.2 配置身份驗證
18.1.3 身份驗證的工作原理
18.2 建立和刪除索引
18.2.1 在獨立的服務(wù)器上建立索引
18.2.2 在副本集上建立索引
18.2.3 在分片集群上建立索引
18.2.4 刪除索引
18.2.5 注意內(nèi)存溢出殺手
18.3 預(yù)熱數(shù)據(jù)
18.3.1 將數(shù)據(jù)庫移至內(nèi)存
18.3.2 將集合移至內(nèi)存
18.3.3 自定義預(yù)熱
18.4 壓縮數(shù)據(jù)
18.5 移動集合
18.6 預(yù)分配數(shù)據(jù)文件
第19章 持久性
19.1 日記系統(tǒng)的用途
19.1.1 批量提交寫入操作
19.1.2 設(shè)定提交時間間隔
19.2 關(guān)閉日記系統(tǒng)
19.2.1 替換數(shù)據(jù)文件
19.2.2 修復(fù)數(shù)據(jù)文件
19.2.3 關(guān)于mongod.lock文件
19.2.4 隱蔽的異常退出
19.3 MongoDB無法保證的事項
19.4 檢驗數(shù)據(jù)損壞
19.5 副本集中的持久性
第六部分 服務(wù)器管理
第20章 啟動和停止MongoDB
20.1 從命令行啟動
20.2 停止MongoDB
20.3 安全性
20.3.1 數(shù)據(jù)加密
20.3.2 SSL安全連接
20.4 日志
第21章 監(jiān)控MongoDB
21.1 監(jiān)控內(nèi)存使用狀況
21.1.1 有關(guān)電腦內(nèi)存的介紹
21.1.2 跟蹤監(jiān)測內(nèi)存使用狀況
21.1.3 跟蹤監(jiān)測缺頁中斷
21.1.4 減少索引樹的脫靶次數(shù)
21.1.5 IO延遲
21.1.6 跟蹤監(jiān)測后臺刷新平均時間
21.2 計算工作集的大小
21.3 跟蹤監(jiān)測性能狀況
21.4 監(jiān)控副本集
第22章 備份
22.1 對服務(wù)器進(jìn)行備份
22.1.1 文件系統(tǒng)快照
22.1.2 復(fù)制數(shù)據(jù)文件
22.1.3 使用mongodump
22.2 對副本集進(jìn)行備份
22.3 對分片集群進(jìn)行備份
22.3.1 備份和恢復(fù)整個集群
22.3.2 備份和恢復(fù)單獨的分片
22.4 使用mongooplog進(jìn)行增量備份
第23章 部署MongoDB
23.1 設(shè)計系統(tǒng)結(jié)構(gòu)
23.1.1 選擇存儲介質(zhì)
23.1.2 推薦的RAID配置
23.1.3 CPU
23.1.4 選擇操作系統(tǒng)
23.1.5 交換空間
23.1.6 文件系統(tǒng)
23.2 虛擬化
23.2.1 禁止內(nèi)存過度分配
23.2.2 神秘的內(nèi)存
23.2.3 處理網(wǎng)絡(luò)磁盤的IO問題
23.2.4 使用非網(wǎng)絡(luò)磁盤
23.3 系統(tǒng)配置
23.3.1 禁用NUMA
23.3.2 更智能地預(yù)讀取數(shù)據(jù)
23.3.3 禁用大內(nèi)存頁面
23.3.4 選擇一種磁盤調(diào)度算法
23.3.5 不要記錄訪問時間
23.3.6 修改限制
23.4 網(wǎng)絡(luò)配置
23.5 系統(tǒng)管理
23.5.1 時鐘同步
23.5.2 OOM Killer
23.5.3 關(guān)閉定期任務(wù)
附錄A 安裝MongoDB
附錄B 深入MongoDB
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版