MongoDB從入門到商業實戰( 簡體 字) | |
作者:張雯杰,蔡佳玲 | 類別:1. -> 資料庫 -> MongoDB |
出版社:電子工業出版社 | 3dWoo書號: 51840 詢問書籍請說出此書號! 有庫存 NT售價: 595 元 |
出版日:9/1/2019 | |
頁數:412 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121372247 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1篇
MongoDB環境的理論與實踐 / 1 第1章 初識NoSQL數據庫與MongoDB / 2 1.1 初識NoSQL數據庫 / 2 1.1.1 何為NoSQL數據庫 / 2 1.1.2 NoSQL數據庫有哪些特征 / 3 1.1.3 為何NoSQL數據庫會崛起? / 4 1.1.4 NoSQL數據庫有哪些種類? / 4 1.1.5 NoSQL數據庫與RDB該怎么選擇呢 / 5 1.2 初識MongoDB / 6 1.2.1 何為MongoDB / 6 1.2.2 MongoDB有哪些特性 / 6 1.2.3 MongoDB適用于哪些場景 / 7 1.2.4 MongoDB中的對象 / 7 1.2.5 MongoDB的文檔知識 / 9 1.2.6 MongoDB的數據類型 / 11 第2章部署MongoDB單機版 / 16 2.1 操作系統硬件規格選擇 / 16 2.2 部署Windows版MongoDB / 18 2.2.1 下載軟件 / 18 2.2.2 部署安裝版 / 19 2.2.3 部署免安裝版 / 25 2.3 部署Linux版MongoDB / 26 2.3.1 下載軟件 / 26 2.3.2 啟動MongoDB / 27 2.3.3 配置啟動文件 / 28 2.3.4 啟動/確定運行/終止服務 / 31 2.3.5 配置單機權限——Auth屬性值 / 33 2.3.6 配置自啟動服務 / 35 第3章 認識MongoDB集群 / 40 3.1 認識集群 / 40 3.1.1 從一個日常生活情境著手 / 40 3.1.2 mongos服務 / 44 3.1.3 config服務 / 46 3.1.4 shard服務 / 47 3.2 認識副本集(Replica Set) / 47 3.2.1 副本集簡介 / 48 3.2.2 高可用(節點故障轉移) / 50 3.2.3 數據讀寫策略 / 59 3.3 認識分片集(Sharded Cluster) / 63 3.3.1 分片集簡介 / 63 3.3.2 片鍵(Shard Key) / 65 3.3.3 控制數據分發——分片標簽 / 67 3.3.4 平衡器(Balancer) / 68 第4章 集群的配置 / 73 4.1 配置副本集 / 73 4.1.1 了解要配置的架構 / 73 4.1.2 配置數據副本集(含Arbiter) / 74 4.1.3 配置內存節點 / 78 4.2 配置分片集群 / 79 4.2.1 了解要配置的架構 / 79 4.2.2 配置config副本集 / 81 4.2.3 配置mongos / 84 4.2.4 配置集群的權限 / 87 4.2.5 配置自啟動服務 / 88 4.2.6 設置數據庫分片(含指定數據存放分片) / 91 4.3 集群的常用配置 / 93 4.3.1 查看分片信息狀態 / 93 4.3.2 調整副本集 / 95 4.3.3 調整分片集 / 98 4.3.4 管理平衡器(Balancer) / 99 4.3.5 讓數據在分片間遷移 / 100 第5章 優化Linux以提升MongoDB性能 / 101 5.1 實現所有MongoDB Server時間的 同步 / 101 5.1.1 了解時間同步(NTP) / 101 5.1.2 手動設定時間同步 / 102 5.1.3 通過服務自動實現時間同步 / 102 5.2 減少時間戳記錄 / 103 5.3 關閉磁盤預讀功能 / 104 5.3.1 手動關閉 / 105 5.3.2 讓系統自動關閉 / 105 5.4 關閉內存管理 / 108 5.4.1 了解標準大頁和透明大頁 / 108 5.4.2 在CentOS 7.0中配置THP / 108 5.5 禁用“非統一內存訪問”(NUMA) / 109 5.5.1 NUMA的工作原理 / 109 5.5.2 查看硬件的NUMA分配節點資源的情況 / 110 5.5.3 禁用NUMA機制 / 110 第2篇 數據管理操作 / 111 第6章 MongoDB基礎操作 / 112 6.1 文檔的操作 / 112 6.1.1 插入 / 112 6.1.2 更新 / 116 6.1.3 刪除 / 120 6.1.4 基本查詢 / 121 6.1.5 條件查詢 / 122 6.1.6 正則表達式 / 124 6.1.7 內嵌文檔查詢 / 126 6.1.8 數據校驗 / 127 6.1.9 原子性操作 / 129 6.2 集合的操作 / 131 6.2.1 集合管理 / 131 6.2.2 固定集合 / 133 6.3 創建索引 / 134 6.3.1 單字段索引 / 135 6.3.2 復合索引 / 137 6.3.3 TTL索引 / 137 6.3.4 全文本索引 / 138 6.3.5 地理空間索引 / 139 6.3.6 哈希索引(Hash Index) / 142 6.3.7 查詢優化診斷 / 142 6.4 常用聚合操作 / 143 6.4.1 聚合——$group / 144 6.4.2 顯示字段——$project / 145 6.4.3 數據排序、跳過幾個文檔、限制顯示文檔數量——$sort、$skip、$limit / 152 6.4.4 條件篩選——$match / 152 6.4.5 多表關聯查詢——$lookup / 153 6.4.6 計算文檔數量——$count / 155 6.4.7 展開數組——$unwind / 155 6.4.8 結果匯入新表——$out / 156 6.5 映射和歸約(MapReduce) / 157 6.5.1 MapReduce介紹 / 157 6.5.2 范例1:數據匯總 / 158 6.5.3 范例2:存成數組 / 160 6.6 存儲過程 / 162 6.6.1 保存存儲過程 / 162 6.6.2 查看存儲過程 / 163 6.6.3 執行存儲過程 / 163 第7章 大文件存儲——MongoDB GridFS / 165 7.1 GridFS介紹 / 165 7.1.1 GridFS如何存儲文檔 / 165 7.1.2 認識chunks與files集合 / 166 7.2 GridFS操作 / 167 7.2.1 通過GridFS上傳文件 / 168 7.2.2 通過GridFs查看文件列表 / 168 7.2.3 通過GridFs下載文件 / 168 7.2.4 通過GridFS刪除文件 / 169 7.2.5 通過GridFS查找文件 / 169 7.2.6 GridFS的其余參數 / 169 7.3 用Python實現GridFS操作 / 170 第3篇 運維與安全管理 / 173 第8章 數據庫安全管理與審計 / 174 8.1 權限管理簡介 / 174 8.2 用戶管理 / 175 8.2.1 創建用戶與登錄 / 175 8.2.2 修改用戶 / 178 8.2.3 刪除用戶 / 179 8.2.4 查詢用戶 / 180 8.2.5 授予用戶權限 / 183 8.2.6 撤銷用戶權限 / 183 8.3 角色管理 / 183 8.3.1 內建角色 / 183 8.3.2 創建自定義角色 / 186 8.3.3 修改自定義角色 / 187 8.3.4 刪除自定義角色 / 188 8.3.5 查詢自定義角色 / 188 8.3.6 授予角色權限 / 190 8.3.7 撤銷角色權限 / 191 8.4 身份驗證 / 193 8.4.1 SCRAM / 193 8.4.2 x.509 / 195 8.5 數據加密 / 198 8.5.1 動態數據加密(傳輸加密) / 198 8.5.2 靜態數據加密 / 198 8.6 審計 / 198 8.6.1 審計的啟用與配置 / 199 8.6.2 審計事件與過濾 / 199 8.7 檢測安全漏洞 / 200 第9章 備份與恢復 / 202 9.1 了解備份/恢復 / 202 9.2 邏輯備份/恢復的常用命令 / 203 9.2.1 備份/恢復 / 203 9.2.2 導出/導入 / 206 9.3 物理備份/恢復的常用命令 / 210 9.4 備份/恢復的具體方案 / 211 9.4.1 單機的備份/恢復 / 211 9.4.2 副本集的備份/恢復 / 212 9.4.3 分片集群的備份/恢復 / 214 第10章 監控管理 / 216 10.1 監控MongoDB / 216 10.1.1 MongoDB自帶監控工具 / 217 10.1.2 mongo shell中的監控指令 / 219 10.1.3 第三方監控工具 / 223 10.1.4 免費監控服務 / 224 10.2 官方提供的運維管理系統——MongoDB Ops Manager / 225 10.2.1 認識Ops Manager / 226 10.2.2 Ops Manager的功能 / 227 第11章 客戶端軟件 / 231 11.1 官方客戶端軟件 / 231 11.1.1 MongoDB Compass簡介 / 231 11.1.2 創建數據庫及集合 / 232 11.1.3 新增集合中的文檔及查詢數據 / 233 11.1.4 查詢文檔 / 233 11.1.5 進行聚合操作 / 234 11.1.6 查詢執行計劃 / 235 11.1.7 建立數據校驗規則 / 236 11.1.8 進行監控 / 237 11.2 第三方客戶端軟件 / 238 11.2.1 Studio 3T for MongoDB / 238 11.2.2 Robo 3T / 245 11.2.3 NoSQL Manager / 246 11.3 總結 / 251 第4篇 應用開發與案例 / 253 第12章 用Java操作MongoDB / 254 12.1 環境準備 / 254 12.1.1 環境說明 / 254 12.1.2 配置MongoDB的Java驅動 / 255 12.2 建立連接與斷開連接 / 256 12.3 應用與操作 / 259 12.3.1 新增文檔 / 259 12.3.2 刪除文檔 / 261 12.3.3 修改文檔 / 263 12.4 查詢文檔數據 / 266 12.4.1 限制查詢結果集的大小 / 266 12.4.2 限制查詢返回的字段 / 266 12.4.3 按條件進行查詢 / 267 12.4.4 對查詢結果分頁 / 268 12.4.5 用聚合命令查詢文檔 / 271 12.4.6 應用索引查詢 / 272 12.5 使用正則表達式 / 275 12.6 批量處理數據 / 275 12.7 創建文檔關聯查詢 / 277 12.8 操作MongoDB GridFS / 279 12.9 小結 / 282 第13章 用C#操作MongoDB / 283 13.1 環境準備 / 283 13.1.1 環境說明 / 283 13.1.2 配置MongoDB驅動 / 284 13.2 建立連接 / 285 13.3 應用與操作 / 287 13.3.1 新增文檔 / 287 13.3.2 刪除文檔 / 289 13.3.3 修改文檔 / 290 13.4 查詢文檔數據 / 293 13.4.1 限制查詢結果集大小 / 293 13.4.2 限制查詢返回的字段 / 294 13.4.3 按條件進行查詢 / 295 13.4.4 將查詢結果分頁顯示 / 296 13.4.5 使用聚合命令查詢文檔 / 297 13.4.6 應用索引查詢 / 299 13.5 使用正則表達式 / 301 13.6 批量處理數據 / 302 13.7 創建文檔關聯查詢 / 302 13.8 操作MongoDB GridFS / 304 13.9 小結 / 307 第14章 用Python操作MongoDB / 308 14.1 環境準備 / 309 14.1.1 安裝Python / 309 14.1.2 安裝pymongo / 310 14.2 建立連接與斷開連接 / 310 14.3 應用與操作 / 311 14.3.1 新增文檔 / 311 14.3.2 刪除文檔 / 315 14.3.3 修改文檔 / 316 14.4 查詢文檔數據 / 318 14.4.1 限制查詢結果集大小 / 318 14.4.2 限制查詢返回的字段 / 320 14.4.3 用復雜條件進行查詢 / 322 14.4.4 將查詢結果分頁顯示 / 323 14.4.5 用聚合方法查詢文檔 / 325 14.4.6 用索引查詢 / 326 14.5 使用正則表達式 / 331 14.6 批量處理數據 / 333 14.7 創建文檔關聯查詢 / 336 14.8 操作MongoDB GridFS / 339 14.9 小結 / 341 第15章 用Node.js操作MongoDB / 342 15.1 準備環境 / 342 15.1.1 安裝Node.js / 342 15.1.2 安裝MongoDB包 / 344 15.2 建立與斷開連接 / 344 15.3 應用與操作 / 347 15.3.1 新增文檔 / 347 15.3.2 刪除文檔 / 350 15.3.3 修改文檔 / 351 15.4 查詢文檔 / 354 15.4.1 限制查詢結果集大小 / 354 15.4.2 限制查詢字段 / 357 15.4.3 查詢條件使用 / 358 15.4.4 將查詢結果分頁 / 359 15.4.5 使用聚合方法查詢文檔 / 361 15.4.6 用索引進行查詢 / 362 15.5 使用正則表達式 / 365 15.6 批理處理數據 / 366 15.7 創建文檔關聯查詢 / 367 15.8 操作MongoDB GridFS / 369 15.9 小結 / 371 第16章 實際應用案例 / 372 16.1 搭建跨區域數據中心 / 372 16.1.1 需求描述 / 372 16.1.2 架構設計 / 373 16.1.3 架構配置 / 375 16.2 用MongoDB實現流式數據處理 / 378 16.2.1 任務與目標 / 378 16.2.2 問題展開 / 378 16.2.3 解決方案 / 379 16.2.4 代碼編寫 / 382 16.3 用“Node.js+MongoDB”實現高并發的網絡聊天室 / 386 16.3.2 解決方案 / 387 16.3.3 MongoDB應用 / 387 16.3.4 代碼編寫 / 389 ——-使用Python訪問與操作MongoDB——-使用node.js訪問與操作MongoDB——-實時數據的處理與分析——-跨區域數據中心建置
|