注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫MongoDB實(shí)戰(zhàn)(第二版)

MongoDB實(shí)戰(zhàn)(第二版)

MongoDB實(shí)戰(zhàn)(第二版)

定 價(jià):¥80.00

作 者: Kyle,Banker,Peter,Bakkum,Shaun ... 著;徐雷,徐揚(yáng) 譯
出版社: 華中科技大學(xué)出版社有限責(zé)任公司
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787568025799 出版時(shí)間: 2017-02-01 包裝: 平裝
開本: 16開 頁數(shù): 410 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書分三部分通過大量的實(shí)例代碼介紹了MongoDB數(shù)據(jù)庫底層的實(shí)現(xiàn)以及大型互聯(lián)網(wǎng)Web項(xiàng)目數(shù)據(jù)庫設(shè)計(jì)原則。第一部分對(duì)MongoDB進(jìn)行了整體介紹,并介紹了實(shí)際的開發(fā)例子,另外還介紹了JavaScript shell和Ruby驅(qū)動(dòng)。第二部分通過逐步實(shí)現(xiàn)一個(gè)電商數(shù)據(jù)模型和實(shí)現(xiàn)必要的CRUD操作來詳細(xì)介紹了MongoDB的文檔數(shù)據(jù)模型、查詢語言和CRUD(新增、讀取、更新和刪除)操作。本書的最后部分從數(shù)據(jù)庫專家的角度來看待MongoDB,介紹了數(shù)據(jù)庫的性能、部署、容錯(cuò)和伸縮性等所有的知識(shí)。 本書適合想深入學(xué)習(xí)MongoDB的開發(fā)人員,主要關(guān)注MongoDB數(shù)據(jù)庫。

作者簡(jiǎn)介

  Kyle Banker在MongoDB開發(fā)團(tuán)隊(duì)之后,就職于一家創(chuàng)業(yè)公司。Peter Bakkum就職于MongoDB企業(yè)版開發(fā)團(tuán)隊(duì)。Shaun Verch 就職于MongoDB核心服務(wù)器團(tuán)隊(duì)。Doug Garrett是MongoDB大數(shù)據(jù)分析創(chuàng)新大獎(jiǎng)的獲得者;軟件架構(gòu)師。Tim Hawkins是Yahoo歐洲搜索工程部門的領(lǐng)導(dǎo)。

圖書目錄

目錄
第一部分 入門 1
第1章 全新Web數(shù)據(jù)庫 3
1.1 為互聯(lián)網(wǎng)而生 5
1.2 MongoDB鍵特性 5
1.2.1 文檔數(shù)據(jù)模型 5
1.2.2 ad hoc查詢 9
1.2.3 索引 9
1.2.4 復(fù)制 10
1.2.5 加速與持久化 11
1.2.6 伸縮 13
1.3 核心服務(wù)和工具 14
1.3.1 核心服務(wù)器 14
1.3.2 JavaScript shell 15
1.3.3 數(shù)據(jù)庫驅(qū)動(dòng) 15
1.3.4 命令行工具 16
1.4 為什么是MongoDB? 17
1.4.1 MongoDB與其他數(shù)據(jù)庫對(duì)比 17
1.4.2 使用場(chǎng)景和部署 20
1.5 提示和限制 22
1.6 MongoDB歷史 23
1.7 其他資源 25
1.8 總結(jié) 25
第2章 通過JavaScript shell操作MongoDB 27
2.1 Diving into the深入MongoDB shell 28
2.1.1 啟動(dòng)shell 28
2.1.2 數(shù)據(jù)庫、集合和文檔 28
2.1.3 插入和查詢 29
2.1.4 更新文檔 31
2.1.5 刪除數(shù)據(jù) 35
2.1.6 shell的其他特性 35
2.2 使用索引創(chuàng)建和查詢 36
2.2.1 創(chuàng)建大集合 36
2.2.2 索引和explain( ) 38
2.3 基本管理 42
2.3.1 獲取數(shù)據(jù)庫信息 43
2.3.2 命令如何執(zhí)行 44
2.4 獲取幫助 45
2.5 總結(jié) 47
第3章 編寫代碼操作MongoDB 48
3.1 通過Ruby lens連接MongoDB 49
3.1.1 安裝與連接 49
3.1.2 Ruby里插入文檔數(shù)據(jù) 50
3.1.3 查詢與光標(biāo) 51
3.1.4 更新和刪除 52
3.1.5 數(shù)據(jù)庫命令 53
3.2 驅(qū)動(dòng)工作原理 54
3.3 構(gòu)建簡(jiǎn)單的應(yīng)用 56
3.3.1 設(shè)置 56
3.3.2 搜集數(shù)據(jù) 57
3.3.3 查看存檔 60
3.4 總結(jié) 63
第二部分 MongoDB應(yīng)用系統(tǒng)開發(fā) 65
第4章 面向文檔的數(shù)據(jù) 67
4.1 schema設(shè)計(jì)原則 67
4.2 設(shè)計(jì)電商網(wǎng)站數(shù)據(jù)模型 69
4.2.1 schema基礎(chǔ)知識(shí) 69
4.2.2 用戶和訂單 73
4.2.3 評(píng)價(jià) 75
4.3 核心概念:數(shù)據(jù)庫、集合、文檔 76
4.3.1 數(shù)據(jù)庫 76
4.3.2 集合 79
4.3.3 文檔和插入 83
4.4 總結(jié) 87
第5章 構(gòu)建查詢 88
5.1 電子商務(wù)查詢 88
5.1.1 產(chǎn)品、類別和評(píng)論 88
5.1.2 用戶和訂單 91
5.2 MongoDB的查詢語言 92
5.2.1 查詢條件和選擇器 92
5.2.2 查詢選擇 104
5.3 總結(jié) 106
第6章 聚合 107
6.1 聚合框架概覽 108
6.2 電商聚合例子 109
6.2.1 商品、類別和評(píng)價(jià) 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 字符串函數(shù) 125
6.4.2 算術(shù)運(yùn)算函數(shù) 126
6.4.3 日期函數(shù) 126
6.4.4 邏輯函數(shù) 127
6.4.5 集合操作符 128
6.4.6 其他函數(shù) 129
6.5 理解聚合管道性能 129
6.5.1 聚合管道選項(xiàng) 130
6.5.2 聚合框架的explain( )函數(shù) 130
6.5.3 allowDiskUse 選項(xiàng) 134
6.5.4 聚合光標(biāo)選項(xiàng) 134
6.6 其他聚合功能 135
6.6.1 .count( )和.distinct( ) 135
6.6.2 map-reduce 136
6.7 總結(jié) 138
第7章 更新、原子操作和刪除 140
7.1 文檔更新概要 141
7.1.1 通過替換修改 141
7.1.2 通過操作符修改 142
7.1.3 比較兩個(gè)方法 142
7.1.4 決定:替換與操作符 143
7.2 電商數(shù)據(jù)模型更新 144
7.2.1 商品和目錄 144
7.2.2 評(píng)價(jià) 148
7.2.3 訂單 150
7.3 原子文檔處理 152
7.3.1 訂單狀態(tài)轉(zhuǎn)換 153
7.3.2 庫存管理 155
7.4 核心要點(diǎn):MongoDB更新與刪除 160
7.4.1 更新類型與參數(shù)選項(xiàng) 160
7.4.2 更新操作符 161
7.4.3 findAndModify命令 169
7.4.4 刪除 169
7.4.5 并發(fā)、原子性和隔離 170
7.4.6 更新性能注意事項(xiàng) 171
7.5 復(fù)習(xí)更新操作符 172
7.6 總結(jié) 173
第三部分 精通MongoDB 175
第8章 索引與查詢優(yōu)化 177
8.1 索引理論 177
8.1.1 精心策劃的實(shí)驗(yàn) 178
8.1.2 核心索引概念 181
8.1.3 B-樹 185
8.2 索引實(shí)戰(zhàn) 186
8.2.1 索引類型 186
8.2.2 索引管理 189
8.3 查詢優(yōu)化 194
8.3.1 找出慢速查詢 195
8.3.2 檢查慢速查詢 199
8.3.3 查詢模式 217
8.4 總結(jié) 219
第9章 文本搜索 220
9.1 文本搜索—不僅僅是模式匹配 221
9.1.1 文本搜索與模式匹配 222
9.1.2 文本搜索與網(wǎng)頁搜索 223
9.1.3 MongoDB文本搜索與專業(yè)搜索引擎 225
9.2 下載曼寧圖書類別數(shù)據(jù) 228
9.3 定義文本搜索索引 229
9.3.1 文本索引的大小 230
9.3.2 分配索引名字并為集合里的所有字段建立索引 231
9.4 基本的文本搜索 232
9.4.1 更復(fù)雜的搜索 233
9.4.2 文本搜索分?jǐn)?shù) 235
9.4.3 根據(jù)文本搜索分?jǐn)?shù)排序結(jié)果 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 總結(jié) 245
第10章 WiredTiger與可拔插存儲(chǔ) 246
10.1 可拔插存儲(chǔ)引擎API 246
10.2 WiredTiger 248
10.2.1 切換到WiredTiger 248
10.2.2 遷移數(shù)據(jù)到WiredTiger 249
10.3 與MMAPv1對(duì)比 250
10.3.1 配置文件 251
10.3.2 插入腳本與基準(zhǔn)測(cè)試腳本 252
10.3.3 插入測(cè)試結(jié)果 255
10.3.4 讀性能測(cè)試腳本 256
10.3.5 讀性能結(jié)果 257
10.3.6 測(cè)試結(jié)論 259
10.4 其他可拔插存儲(chǔ)引擎的例子 260
10.5 高級(jí)主題 261
10.5.1 可拔插引擎如何工作? 261
10.5.2 數(shù)據(jù)結(jié)構(gòu) 263
10.5.3 鎖 265
10.6 總結(jié) 265
第11章 復(fù)制 267
11.1 復(fù)制概覽 267
11.1.1 為什么復(fù)制很重要 268
11.1.2 復(fù)制的使用場(chǎng)景和限制 269
11.2 可復(fù)制集 270
11.2.1 安裝 270
11.2.2 可復(fù)制集群工作原理 277
11.2.3 管理 283
11.3 驅(qū)動(dòng)與復(fù)制 291
11.3.1 連接與故障轉(zhuǎn)移 291
11.3.2 寫關(guān)注點(diǎn) 293
11.3.3 讀伸縮 294
11.3.4 標(biāo)簽 296
11.4 總結(jié) 298
第12章 使用分片集群擴(kuò)展系統(tǒng) 299
12.1 分片集群概述 300
12.1.1 什么是分片集群 300
12.1.2 什么時(shí)候分片? 301
12.2 理解分片集群的組件 302
12.2.1 分片:存儲(chǔ)應(yīng)用程序數(shù)據(jù) 303
12.2.2 mongos路由:路由操作 303
12.2.3 配置服務(wù)器:存儲(chǔ)元數(shù)據(jù) 303
12.3 在分片集群中分散數(shù)據(jù) 304
12.3.1 分片集群中的數(shù)據(jù)分散方式 305
12.3.2 分布式數(shù)據(jù)庫分片 306
12.3.3 集合分片 306
12.4 構(gòu)建一個(gè)例子分片集群 307
12.4.1 啟動(dòng)mongod和mongos服務(wù)器 308
12.4.2 配置集群 310
12.4.3 分片集合 311
12.4.4 寫入數(shù)據(jù)到分片集群 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 非平衡寫入(熱點(diǎn)) 323
12.6.2 不可分割的數(shù)據(jù)塊(粗粒度) 324
12.6.3 糟糕的定位(分片鍵不在查詢中) 325
12.6.4 理想的分片鍵 325
12.6.5 設(shè)計(jì)折中(email應(yīng)用) 326
12.7 生產(chǎn)環(huán)境下分片集群 328
12.7.1 配置 328
12.7.2 部署 330
12.7.3 維護(hù) 332
12.8 總結(jié) 336
第13章 部署與管理 337
13.1 硬件與配置 337
13.1.1 集群拓?fù)?337
13.1.2 部署環(huán)境 339
13.1.3 配置 344
13.2 監(jiān)控與診斷 346
13.2.1 日志 346
13.2.2 診斷命令 347
13.2.3 診斷工具 347
13.2.4 監(jiān)控服務(wù) 349
13.2.5 外部監(jiān)控應(yīng)用 349
13.3 備份 350
13.3.1 mongodump和mongorestore 350
13.3.2 基于數(shù)據(jù)文件的備份 351
13.3.3 MMS備份 352
13.4 安全 352
13.4.1 安全環(huán)境 353
13.4.2 網(wǎng)絡(luò)安全 353
13.4.3 驗(yàn)證 356
13.4.4 可復(fù)制集驗(yàn)證 359
13.4.5 分片集群驗(yàn)證 360
13.4.6 企業(yè)安全特性 360
13.5 管理任務(wù) 360
13.5.1 數(shù)據(jù)導(dǎo)入和導(dǎo)出 360
13.5.2 壓縮和修復(fù) 361
13.5.3 升級(jí) 363
13.6 性能故障排除 363
13.6.1 工作集 363
13.6.2 性能懸崖 364
13.6.3 查詢交互 365
13.6.4 尋求專業(yè)幫助 366
13.7 部署檢查列表 366
13.8 總結(jié) 367
附錄A 安裝 368
A.1 安裝 368
A.1.1 生產(chǎn)部署 368
A.1.2 32位和64位 369
A.2 Linux下安裝MongoDB 369
A.2.1 使用預(yù)編譯二進(jìn)制文件安裝 369
A.2.2 使用包管理器 370
A.3 Mac OS X下安裝MongoDB 370
A.3.1 預(yù)編譯二進(jìn)制版本 370
A.3.2 使用包管理器 371
A.4 Windows下安裝MongoDB 372
A.5 從源碼編譯MongoDB 373
A.6 故障排除 373
A.6.1 錯(cuò)誤的架構(gòu) 373
A.6.2 不存在的數(shù)據(jù)目錄 374
A.6.3 缺少權(quán)限 374
A.6.4 未綁定端口 374
A.7 基本配置選項(xiàng) 374
A.8 安裝Ruby 376
A.8.1 Linux和Mac OS X 376
A.8.2 Windows 376
附錄B 設(shè)計(jì)模式 377
B.1 嵌入與引用 377
B.2 一對(duì)多 377
B.3 多對(duì)多 378
B.4 樹 379
B.5 工作隊(duì)列 382
B.6 動(dòng)態(tài)特性 383
B.7 事務(wù) 384
B.8 定位與預(yù)計(jì)算 385
B.9 反模式 386
B.9.1 粗心索引 386
B.9.2 交錯(cuò)類型 386
B.9.3 單一集合 386
B.9.4 大型、深嵌文檔 386
B.9.5 一個(gè)用戶一個(gè)集合 387
B.9.6 不可分片集合 387
附錄C 二進(jìn)制數(shù)據(jù)和網(wǎng)格文件系統(tǒng) 388
C.1 簡(jiǎn)單二進(jìn)制存儲(chǔ) 388
C.1.1 存儲(chǔ)縮略圖 389
C.1.2 存儲(chǔ)MD5 389
C.2 網(wǎng)格文件 390
C.2.1 Ruby中的GridFS 391
C.2.2 使用mongofiles操作GridFS 393




本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)