秋季新到貨促案
MongoDB實戰(第二版)

MongoDB實戰(第二版)

  • 定價:480
  • 優惠價:87418
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書分三部分通過大量的實例代碼介紹了MongoDB數據庫底層的實現以及大型互聯網Web項目數據庫設計原則。第一部分對MongoDB進行了整體介紹,並介紹了實際的開發例子,另外還介紹了JavaScript shell和Ruby驅動。第二部分通過逐步實現一個電商數據模型和實現必要的CRUD操作來詳細介紹了MongoDB的文檔數據模型、查詢語言和CRUD(新增、讀取、更新和刪除)操作。本書的最后部分從數據庫專家的角度來看待MongoDB,介紹了數據庫的性能、部署、容錯和伸縮性等所有的知識。

本書適合想深入學習MongoDB的開發人員,主要關注MongoDB數據庫。

Kyle Banker,在MongoDB開發團隊之后,就職於一家創業公司。Peter Bakkum,就職於MongoDB企業版開發團隊。Shaun Verch,就職於MongoDB核心服務器團隊。Doug Garrett,是MongoDB大數據分析創新大獎的獲得者;軟件架構師。Tim Hawkins,是Yahoo歐洲搜索工程部門的領導。
 

目錄

第1部分 入門 1
第1章 全新Web數據庫 3
1.1 為互聯網而生 5
1.2 MongoDB鍵特性 5
1.2.1 文檔數據模型 5
1.2.2 ad hoc查詢 9
1.2.3 索引 9
1.2.4 復制 10
1.2.5 加速與持久化 11
1.2.6 伸縮 13
1.3 核心服務和工具 14
1.3.1 核心服務器 14
1.3.2 JavaScript shell 15
1.3.3 數據庫驅動 15
1.3.4 命令行工具 16
1.4 為什麼是MongoDB? 17
1.4.1 MongoDB與其他數據庫對比 17
1.4.2 使用場景和部署 20
1.5 提示和限制 22
1.6 MongoDB歷史 23
1.7 其他資源 25
1.8 總結 25
第2章 通過JavaScript shell操作MongoDB 27
2.1 Diving into the深入MongoDB shell 28
2.1.1 啟動shell 28
2.1.2 數據庫、集合和文檔 28
2.1.3 插入和查詢 29
2.1.4 更新文檔 31
2.1.5 刪除數據 35
2.1.6 shell的其他特性 35
2.2 使用索引創建和查詢 36
2.2.1 創建大集合 36
2.2.2 索引和explain( ) 38
2.3 基本管理 42
2.3.1 獲取數據庫信息 43
2.3.2 命令如何執行 44
2.4 獲取幫助 45
2.5 總結 47
第3章 編寫代碼操作MongoDB 48
3.1 通過Ruby lens連接MongoDB 49
3.1.1 安裝與連接 49
3.1.2 Ruby里插入文檔數據 50
3.1.3 查詢與光標 51
3.1.4 更新和刪除 52
3.1.5 數據庫命令 53
3.2 驅動工作原理 54
3.3 構建簡單的應用 56
3.3.1 設置 56
3.3.2 搜集數據 57
3.3.3 查看存檔 60
3.4 總結 63

第二部分 MongoDB應用系統開發 65
第4章 面向文檔的數據 67
4.1 schema設計原則 67
4.2 設計電商網站數據模型 69
4.2.1 schema基礎知識 69
4.2.2 用戶和訂單 73
4.2.3 評價 75
4.3 核心概念:數據庫、集合、文檔 76
4.3.1 數據庫 76
4.3.2 集合 79
4.3.3 文檔和插入 83
4.4 總結 87
第5章 構建查詢 88
5.1 電子商務查詢 88
5.1.1 產品、類別和評論 88
5.1.2 用戶和訂單 91
5.2 MongoDB的查詢語言 92
5.2.1 查詢條件和選擇器 92
5.2.2 查詢選擇 104
5.3 總結 106
第6章 聚合 107
6.1 聚合框架概覽 108
6.2 電商聚合例子 109
6.2.1 商品、類別和評價 111
6.2.2 用戶和訂單 117
6.3 聚合管道操作符 120
6.3.1 $project 120
6.3.2 $group 121
6.3.3 $match、$sort、$skip、$limit 123
6.3.4 $unwind 123
6.3.5 $out 124
6.4 重塑文檔 124
6.4.1 字符串函數 125
6.4.2 算術運算函數 126
6.4.3 日期函數 126
6.4.4 邏輯函數 127
6.4.5 集合操作符 128
6.4.6 其他函數 129
6.5 理解聚合管道性能 129
6.5.1 聚合管道選項 130
6.5.2 聚合框架的explain( )函數 130
6.5.3 allowDiskUse 選項 134
6.5.4 聚合光標選項 134
6.6 其他聚合功能 135
6.6.1 .count( )和.distinct( ) 135
6.6.2 map-reduce 136
6.7 總結 138
第7章 更新、原子操作和刪除 140
7.1 文檔更新概要 141
7.1.1 通過替換修改 141
7.1.2 通過操作符修改 142
7.1.3 比較兩個方法 142
7.1.4 決定:替換與操作符 143
7.2 電商數據模型更新 144
7.2.1 商品和目錄 144
7.2.2 評價 148
7.2.3 訂單 150
7.3 原子文檔處理 152
7.3.1 訂單狀態轉換 153
7.3.2 庫存管理 155
7.4 核心要點:MongoDB更新與刪除 160
7.4.1 更新類型與參數選項 160
7.4.2 更新操作符 161
7.4.3 findAndModify命令 169
7.4.4 刪除 169
7.4.5 並發、原子性和隔離 170
7.4.6 更新性能注意事項 171
7.5 復習更新操作符 172
7.6 總結 173

第三部分 精通MongoDB 175
第8章 索引與查詢優化 177
8.1 索引理論 177
8.1.1 精心策划的實驗 178
8.1.2 核心索引概念 181
8.1.3 B-樹 185
8.2 索引實戰 186
8.2.1 索引類型 186
8.2.2 索引管理 189
8.3 查詢優化 194
8.3.1 找出慢速查詢 195
8.3.2 檢查慢速查詢 199
8.3.3 查詢模式 217
8.4 總結 219
第9章 文本搜索 220
9.1 文本搜索—不僅僅是模式匹配 221
9.1.1 文本搜索與模式匹配 222
9.1.2 文本搜索與網頁搜索 223
9.1.3 MongoDB文本搜索與專業搜索引擎 225
9.2 下載曼寧圖書類別數據 228
9.3 定義文本搜索索引 229
9.3.1 文本索引的大小 230
9.3.2 分配索引名字並為集合里的所有字段建立索引 231
9.4 基本的文本搜索 232
9.4.1 更復雜的搜索 233
9.4.2 文本搜索分數 235
9.4.3 根據文本搜索分數排序結果 236
9.5 聚合框架文本搜索 237
9.6 文本搜索語言 240
9.6.1 在索引里指定語言 241
9.6.2 在文檔里指定語言 242
9.6.3 在搜索中指定語言 243
9.6.4 可用的語言 245
9.7 總結 245
第10章 WiredTiger與可拔插存儲 246
10.1 可拔插存儲引擎API 246
10.2 WiredTiger 248
10.2.1 切換到WiredTiger 248
10.2.2 遷移數據到WiredTiger 249
10.3 與MMAPv1對比 250
10.3.1 配置文件 251
10.3.2 插入腳本與基准測試腳本 252
10.3.3 插入測試結果 255
10.3.4 讀性能測試腳本 256
10.3.5 讀性能結果 257
10.3.6 測試結論 259
10.4 其他可拔插存儲引擎的例子 260
10.5 高級主題 261
10.5.1 可拔插引擎如何工作? 261
10.5.2 數據結構 263
10.5.3 鎖 265
10.6 總結 265
第11章 復制 267
11.1 復制概覽 267
11.1.1 為什麼復制很重要 268
11.1.2 復制的使用場景和限制 269
11.2 可復制集 270
11.2.1 安裝 270
11.2.2 可復制集群工作原理 277
11.2.3 管理 283
11.3 驅動與復制 291
11.3.1 連接與故障轉移 291
11.3.2 寫關注點 293
11.3.3 讀伸縮 294
11.3.4 標簽 296
11.4 總結 298
第12章 使用分片集群擴展系統 299
12.1 分片集群概述 300
12.1.1 什麼是分片集群 300
12.1.2 什麼時候分片? 301
12.2 理解分片集群的組件 302
12.2.1 分片:存儲應用程序數據 303
12.2.2 mongos路由:路由操作 303
12.2.3 配置服務器:存儲元數據 303
12.3 在分片集群中分散數據 304
12.3.1 分片集群中的數據分散方式 305
12.3.2 分布式數據庫分片 306
12.3.3 集合分片 306
12.4 構建一個例子分片集群 307
12.4.1 啟動mongod和mongos服務器 308
12.4.2 配置集群 310
12.4.3 分片集合 311
12.4.4 寫入數據到分片集群 312
12.5 分片集群查詢和建立索引 318
12.5.1 查詢路由 318
12.5.2 分片集群中建立索引 319
12.5.3 分片集群中的explain()工具 320
12.5.4 分片集群中聚合 322
12.6 選擇分片鍵 322
12.6.1 非平衡寫入(熱點) 323
12.6.2 不可分割的數據塊(粗粒度) 324
12.6.3 糟糕的定位(分片鍵不在查詢中) 325
12.6.4 理想的分片鍵 325
12.6.5 設計折中(email應用) 326
12.7 生產環境下分片集群 328
12.7.1 配置 328
12.7.2 部署 330
12.7.3 維護 332
12.8 總結 336
第13章 部署與管理 337
13.1 硬件與配置 337
13.1.1 集群拓撲 337
13.1.2 部署環境 339
13.1.3 配置 344
13.2 監控與診斷 346
13.2.1 日志 346
13.2.2 診斷命令 347
13.2.3 診斷工具 347
13.2.4 監控服務 349
13.2.5 外部監控應用 349
13.3 備份 350
13.3.1 mongodump和mongorestore 350
13.3.2 基於數據文件的備份 351
13.3.3 MMS備份 352
13.4 安全 352
13.4.1 安全環境 353
13.4.2 網絡安全 353
13.4.3 驗證 356
13.4.4 可復制集驗證 359
13.4.5 分片集群驗證 360
13.4.6 企業安全特性 360
13.5 管理任務 360
13.5.1 數據導入和導出 360
13.5.2 壓縮和修復 361
13.5.3 升級 363
13.6 性能故障排除 363
13.6.1 工作集 363
13.6.2 性能懸崖 364
13.6.3 查詢交互 365
13.6.4 尋求專業幫助 366
13.7 部署檢查列表 366
13.8 總結 367

附錄A 安裝 368
A.1 安裝 368
A.1.1 生產部署 368
A.1.2 32位和64位 369
A.2 Linux下安裝MongoDB 369
A.2.1 使用預編譯二進制文件安裝 369
A.2.2 使用包管理器 370
A.3 Mac OS X下安裝MongoDB 370
A.3.1 預編譯二進制版本 370
A.3.2 使用包管理器 371
A.4 Windows下安裝MongoDB 372
A.5 從源碼編譯MongoDB 373
A.6 故障排除 373
A.6.1 錯誤的架構 373
A.6.2 不存在的數據目錄 374
A.6.3 缺少權限 374
A.6.4 未綁定端口 374
A.7 基本配置選項 374
A.8 安裝Ruby 376
A.8.1 Linux和Mac OS X 376
A.8.2 Windows 376

附錄B 設計模式 377
B.1 嵌入與引用 377
B.2 一對多 377
B.3 多對多 378
B.4 樹 379
B.5 工作隊列 382
B.6 動態特性 383
B.7 事務 384
B.8 定位與預計算 385
B.9 反模式 386
B.9.1 粗心索引 386
B.9.2 交錯類型 386
B.9.3 單一集合 386
B.9.4 大型、深嵌文檔 386
B.9.5 一個用戶一個集合 387
B.9.6 不可分片集合 387

附錄C 二進制數據和網格文件系統 388
C.1 簡單二進制存儲 388
C.1.1 存儲縮略圖 389
C.1.2 存儲MD5 389
C.2 網格文件 390
C.2.1 Ruby中的GridFS 391
C.2.2 使用mongofiles操作GridFS 393
 

詳細資料

  • ISBN:9787568025799
  • 規格:410頁 / 普通級 / 2-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【自然科普、電腦資訊】大雁文化電子書暢銷展|兩本85折、三本79折、套書77折|閱讀是一趟「發現之旅」
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 中醫藥
  • https://activity.books.com.tw/crosscat/show/A00000
  • 文學季