《MongoDB大數據處理權威指南(第3版)》是清華大學出版社於2017年3月1日出版的圖書,作者是[美]David Hows,Peter Membrey,Eelco Plugge,Tim Hawkins,周連科 譯。
基本介紹
- 中文名:MongoDB大數據處理權威指南(第3版)
- 作者:[美]David Hows、Peter Membrey、Eelco Plugge、Tim Hawkins
- 譯者:周連科
- 出版時間:2017年3月1日
- 出版社:清華大學出版社
- 頁數:304 頁
- ISBN:9787302463870
- 定價:49.80 元
- 裝幀:平裝
圖書目錄,主要內容,
圖書目錄
第1章 MongoDB簡介 1
1.1 了解MongoDB哲學 1
1.1.1 使用正確的工具處理正確的工作 1
1.1.2 天然缺少對事務的支持 3
1.1.3 JSON和MongoDB 3
1.1.4 採用非關係方式 5
1.1.5 選擇性能還是特性 6
1.1.6 在任何地方均可運行資料庫 6
1.2 將所有組合在一起 7
1.2.1 生成或創建鍵 7
1.2.2 使用鍵和值 8
1.2.3 實現集合 8
1.2.4 了解資料庫 9
1.3 了解特性列表 9
1.3.1 WiredTiger 9
1.3.2 使用面向文檔存儲(BSON) 9
1.3.3 支持動態查詢 10
1.3.4 為文檔創建索引 11
1.3.5 使用地理空間索引 11
1.3.6 分析查詢 11
1.3.7 就地更新信息(僅用於記憶體映射的資料庫) 12
1.3.8 存儲二進制數據 12
1.3.9 複製數據 12
1.3.10 實施分片 13
1.3.11 使用map和reduce函式 13
1.3.12 聚集框架 14
1.4 獲取幫助 14
1.4.1 訪問網站 14
1.4.2 剪下和貼上MongoDB代碼 14
1.4.3 在Google小組中尋找解決方案 14
1.4.4 在Stack Overflow中尋找解決方案 14
1.4.5 利用JIRA跟蹤系統 15
1.4.6 與MongoDB開發者溝通 15
1.5 小結 15
第2章 安裝Mon...
2.1選擇版本17
2.2在系統中安裝MongoDB18
2.2.1在Linux中安裝MongoDB18
2.2.2在Windows中安裝MongoDB19
2.3運行MongoDB20
2.3.1先決條件20
2.3.2研究安裝目錄布局20
2.3.3使用MongoDBshell21
2.4添加額外的驅動22
2.4.1安裝PHP驅動22
2.4.2確認PHP安裝正確25
2.4.3安裝Python驅動27
2.4.4確認PyMongo安裝正確28
2.5小結29
第3章數據模型31
3.1設計資料庫31
3.1.1集合的更多細節32
3.1.2使用文檔33
3.1.3在文檔中內嵌或引用信息34
3.1.4創建_id欄位35
3.2構建索引36
3.3使用地理空間索引36
3.4可插拔的存儲引擎41
3.5在真實世界中使用MongoDB42
3.6小結42
第4章使用數據43
4.1瀏覽資料庫43
4.2在集合中插入數據44
4.3查詢數據45
4.3.1使用點號47
4.3.2使用函式sort、limit和skip48
4.3.3使用固定集合、自然順序和$natural48
4.3.4獲取單個文檔50
4.3.5使用聚集命令50
4.3.6使用條件操作符52
4.3.7使用正則表達式59
4.4更新數據60
4.4.1使用update()更新60
4.4.2使用save()命令實現upsert60
4.4.3自動更新信息61
4.4.4從數組中刪除元素64
4.4.5指定匹配數組的位置65
4.4.6原子操作65
4.4.7以原子方式修改和返回文檔67
4.5批處理數據67
4.5.1執行批處理68
4.5.2評估輸出69
4.6重命名集合70
4.7刪除數據70
4.8引用資料庫71
4.8.1手動引用數據71
4.8.2使用DBRef引用數據72
4.9使用與索引相關的函式74
4.10小結77
第5章GridFS79
5.1背景79
5.2使用GridFS80
5.3開始使用命令行工具80
5.3.1使用_id鍵81
5.3.2使用檔案名稱81
5.3.3檔案的長度82
5.3.4使用塊大小82
5.3.5跟蹤上傳日期82
5.3.6生成檔案的哈希值83
5.4查看MongoDB中的數據83
5.4.1使用搜尋命令84
5.4.2刪除84
5.4.3從MongoDB中獲取檔案85
5.4.4mongofiles命令小結85
5.5使用Python85
5.5.1連線資料庫86
5.5.2訪問單詞87
5.6在MongoDB中添加檔案87
5.7從GridFS中讀取檔案87
5.8刪除檔案88
5.9小結88
第6章PHP和MongoDB89
6.1比較MongoDB和PHP中的文檔89
6.2MongoDB類90
6.2.1連線和下線91
6.2.2插入數據92
6.3查詢數據94
6.3.1返回單個文檔94
6.3.2列出所有文檔95
6.4使用查詢操作符96
6.4.1查詢特定信息96
6.4.2排序、限制和忽略數據項97
6.4.3統計匹配結果的數目98
6.4.4使用聚集框架對數組分組98
6.4.5使用hint()函式指定索引99
6.4.6使用條件操作符重新定義查詢100
6.4.7判斷某個欄位是否有值105
6.4.8正則表達式106
6.5使用PHP修改數據106
6.5.1使用update()函式更新數據107
6.5.2節省更新操作的時間108
6.5.3使用save()函式更新數據114
6.5.4以原子方式修改文檔115
6.6批處理數據116
6.6.1執行批處理117
6.6.2評估輸出118
6.7刪除數據118
6.8DBRef120
6.9GridFS和PHP驅動122
6.9.1存儲檔案122
6.9.2在已存儲的檔案中添加元數據123
6.9.3獲取檔案123
6.9.4刪除數據124
6.10小結124
第7章Python和MongoDB125
7.1在Python中使用文檔125
7.2使用PyMongo模組126
7.3連線和斷開126
7.4插入數據126
7.5搜尋數據128
7.5.1搜尋單個文檔128
7.5.2搜尋多個文檔129
7.5.3使用點操作符129
7.5.4返回欄位130
7.5.5使用sort()、limit()和skip()簡化查詢130
7.5.6聚集查詢132
7.5.7使用hint()指定索引134
7.5.8使用條件操作符重定義查詢135
7.5.9使用正則表達式執行搜尋140
7.6修改數據140
7.6.1更新數據141
7.6.2修改操作符141
7.6.3用replace_one()替代文檔145
7.6.4以原子方式修改文檔146
7.6.5使用參數146
7.7批處理數據147
7.8刪除數據148
7.9在兩個文檔之間創建連結149
7.10小結152
第8章高級查詢153
8.1文本搜尋153
8.1.1文本搜尋的代價和限制154
8.1.2使用文本搜尋154
8.1.3其他語言中的文本索引158
8.1.4文本索引的複合索引159
8.2聚集框架160
8.2.1$group161
8.2.2$limit163
8.2.3$match164
8.2.4$sort165
8.2.5$unwind166
8.2.6$skip168
8.2.7$out169
8.2.8$lookup170
8.3MapReduce171
8.3.1MapReduce的工作方式171
8.3.2設定測試文檔172
8.3.3使用map函式172
8.3.4高級MapReduce174
8.3.5調試MapReduce176
8.4小結177
第9章資料庫管理179
9.1使用管理工具179
9.1.1mongo——MongoDB控制台179
9.1.2使用第三方管理工具180
9.2備份MongoDB伺服器180
9.2.1創建第一個備份180
9.2.2備份單個資料庫182
9.2.3備份單個集合182
9.3深入學習備份183
9.4恢復單個資料庫或集合183
9.4.1恢復單個資料庫184
9.4.2恢復單個集合184
9.5自動備份185
9.5.1使用本地數據存儲185
9.5.2使用遠端數據存儲(基於雲)187
9.6備份大資料庫188
9.6.1使用隱藏的輔助伺服器備份數據188
9.6.2使用日誌檔案系統創建快照188
9.6.3使用卷管理器時的磁碟布局190
9.7將數據導入MongoDB191
9.8從MongoDB導出數據192
9.9通過限制對MongoDB伺服器的訪問保護數據安全193
9.10使用身份驗證保護伺服器193
9.10.1添加admin用戶193
9.10.2啟用身份驗證194
9.10.3在mongo控制台中執行身份驗證194
9.10.4MongoDB用戶角色196
9.10.5修改用戶憑據197
9.10.6添加唯讀用戶198
9.10.7刪除用戶198
9.10.8在PHP套用中進行連線身份驗證198
9.11管理伺服器199
9.11.1啟動伺服器199
9.11.2獲得伺服器版本201
9.11.3獲得伺服器狀態201
9.11.4關閉伺服器203
9.12使用MongoDB日誌檔案204
9.13驗證和修複數據204
9.13.1修復伺服器205
9.13.2驗證單個集合205
9.13.3修復集合驗證錯誤206
9.13.4修復集合的數據檔案207
9.13.5壓縮集合的數據檔案207
9.14升級MongoDB208
9.15監控MongoDB208
9.16使用MongoDB雲管理器209
9.17小結210
第10章最佳化211
10.1最佳化伺服器硬體以提高性能211
10.2理解MongoDB的存儲引擎211
10.3了解MMAPv1中MongoDB使用記憶體的方式212
10.4理解WiredTiger下MongoDB的記憶體使用方式212
10.4.1WiredTiger中的壓縮213
10.4.2選擇正確的資料庫伺服器硬體213
10.5評估查詢性能214
10.5.1MongoDB分析器214
10.5.2使用explain()分析特定的查詢217
10.5.3使用分析器和explain()最佳化查詢219
10.6管理索引224
10.6.1顯示索引224
10.6.2創建簡單的索引225
10.6.3創建複合索引226
10.7JesseJiryuDavis的三步混合索引226
10.7.1設定227
10.7.2範圍查詢227
10.7.3相等和範圍查詢228
10.7.4題外話:MongoDB選擇索引的方式230
10.7.5相等、範圍查詢和排序231
10.7.6最後的方法233
10.8指定索引選項234
10.8.1使用{background:true}在後台創建索引234
10.8.2使用{unique:true}創建唯一鍵索引234
10.8.3使用{sparse:true}創建稀疏索引235
10.8.4創建部分索引235
10.8.5TTL索引235
10.8.6文本索引236
10.8.7刪除索引236
10.8.8重建集合索引237
10.9通過hint()強制使用特定的索引237
10.10使用索引過濾器238
10.11最佳化小對象的存儲240
10.12小結241
第11章複製243
11.1MongoDB複製的目標243
11.1.1改善可擴展性243
11.1.2改善持久性/可靠性244
11.1.3提供隔離性244
11.2複製基礎244
11.2.1主伺服器的定義245
11.2.2輔助伺服器的定義245
11.2.3仲裁伺服器的定義246
11.3深入學習oplog246
11.4實現複製集247
11.4.1創建複製集248
11.4.2啟動複製集成員249
11.4.3向複製集中添加伺服器250
11.4.4添加仲裁伺服器255
11.4.5複製集鏈256
11.4.6管理複製集256
11.4.7為複製集成員配置選項261
11.4.8從套用連線到複製集262
11.5讀顧慮266
11.6小結266
第12章分片267
12.1了解分片的需求267
12.2對數據進行水平和垂直分區268
12.2.1對數據進行垂直分區268
12.2.2對數據進行水平分區268
12.3分析一個簡單的分片場景269
12.4使用MongoDB實現分片270
12.4.1創建分片設定271
12.4.2確定連線的方式277
12.4.3列出分片伺服器的狀態278
12.4.4使用複製集實現分片279
12.5均衡器279
12.6哈希片鍵281
12.7標籤分片282
12.8添加更多配置伺服器284
12.9小結285
主要內容
《MongoDB大數據處理權威指南(第3版)》針對MongoDB3做了精細更新,呈現MongoDB的所有最新特性,涵蓋2.2版引入的聚集框架、2.4版引入的哈希索引以及3.2版本的WiredTiger,還新納入Node.js和Python。
MongoDB是最流行的“大數據”NoSQL資料庫技術,目前仍在蓬勃發展。來自10gen的DavidHows以及經驗豐富的PeterMembrey和EelcoPlugge等MongoDB專家聯袂撰寫本書,在書中分享他們的寶貴專業知識和經驗,向讀者呈現成長為一名MongoDB專家需要了解的所有知識。
●在所有主流伺服器平台上搭建MongoDB,包括Windows、Linux、OSX和雲平台(如Rackspace、Azure和AmazonEC2)
●使用GirdFS和新的聚集框架
●使用非SQL命令處理數據
●使用Node.js和Python編寫套用
●最佳化MongoDB
●精通掌握MongoDB管理方面的知識,包括複製、複製標籤和標籤分片