《MongoDB遊記之輕鬆入門到進階》是2017年9月清華大學出版社出版的圖書,作者是張澤泉。
基本介紹
- 書名:MongoDB遊記之輕鬆入門到進階
- 作者:張澤泉
- 出版社:清華大學出版社
- 出版時間:2017年9月1日
- 定價:59 元
- ISBN:9787302478607
- 印次:1-1
- 印刷日期:2017.08.09
內容簡介,圖書目錄,
內容簡介
MongoDB作為最受歡迎的文檔存儲類型的NoSQL資料庫,越來越多的公司在使用它。本書以符合初學者的思維方式,系統全面、層層遞進地介紹了MongoDB資料庫,通過本書的學習,讀者能夠勝任實際工作環境中MongoDB的相關開發管理工作。
圖書目錄
第一部分基礎與架構理論篇
第1章初識MongoDB
1.1MongoDB簡介
1.1.1MongoDB是什麼
1.1.2MongoDB的歷史3
1.1.3MongoDB的發展情況4
1.1.4哪些公司在用MongoDB5
1.2MongoDB的特點5
1.3MongoDB套用場景6
1.3.1MongoDB適用於以下場景6
1.3.2MongoDB不適合的場景7
第2章MongoDB的結構8
2.1資料庫8
2.1.1資料庫的層次8
2.1.2數據的命名8
2.1.3自帶資料庫9
2.2普通集合9
2.2.1集合是什麼9
2.2.2集合的特點—無模式9
2.2.3集合命名9
2.2.4子集合10
2.3固定集合(Capped)10
2.3.1Capped簡介10
2.3.2Capped屬性特點10
2.3.3Capped套用場景10
2.4文檔11
2.4.1文檔簡介11
2.4.2文檔的特點11
2.4.3文檔的鍵名命名規則11
2.5數據類型11
2.5.1基本數據類型11
2.5.2數字類型說明12
2.5.3日期類型說明14
2.5.4數組類型說明16
2.5.5內嵌文檔類型說明16
2.5.6_id鍵和ObjectId對象說明17
2.5.7二進制類型說明——小檔案存儲19
2.6索引簡介19
2.6.1什麼是索引19
2.6.2索引的作用20
2.6.3普通索引20
2.6.4唯一索引20
2.6.5地理空間索引21
第3章MongoDB的大檔案存儲規範GridFs22
3.1GridFS簡介22
3.2GridFS原理23
3.3GridFS套用場景24
3.4GridFS的局限性24
第4章MongoDB的分散式運算模型MapReduce25
4.1MapReduce簡介25
4.2MapReduce原理26
4.3MapReduce套用場景28
第5章MongoDB存儲原理29
5.1存取工作流程29
5.2存儲引擎30
5.2.1MMAP引擎31
5.2.2MMAPv1引擎31
5.2.3WiredTiger引擎32
5.2.4In-Memory33
5.2.5引擎的選擇34
5.2.6未來的引擎34
第6章了解MongoDB複製集35
6.1複製集簡介35
6.1.1主從複製和副本集35
6.1.2副本集的特點38
6.2副本集工作原理38
6.2.1oplog(操作日誌)38
6.2.2數據同步39
6.2.3複製狀態和本地資料庫39
6.2.4阻塞複製40
6.2.5心跳機制40
6.2.6選舉機制41
6.2.7數據回滾42
第7章了解MongoDB分片43
7.1分片的簡介43
7.2分片的工作原理44
7.2.1數據分流44
7.2.2chunkSize和塊的拆分47
7.2.3平衡器和塊的遷移47
7.3分片的套用場景48
第二部分管理與開發入門篇
第8章安裝MongoDB51
8.1版本和平台的選擇51
8.1.1版本的選擇51
8.1.2平台的選擇52
8.1.332位和64位52
8.2Windows系統安裝MongoDB53
8.2.1查看安裝環境53
8.2.2安裝步驟53
8.2.3目錄檔案了解55
8.3Linux系統安裝MongoDB56
8.3.1虛擬機簡介56
8.3.2虛擬機安裝以及安裝Linux系統58
8.3.3安裝MongoDB67
8.4MacOSX系統安裝MongoDB73
8.4.1查看安裝環境73
8.4.2官網安裝包安裝73
8.4.3Mac軟體倉庫安裝74
第9章啟動和停止MongoDB75
9.1命令行方式啟動和參數75
9.1.1Windows系統命令行啟動MongoDB75
9.1.2Linux系統命令行啟動MongoDB76
9.1.3MacOS系統命令行啟動MongoDB79
9.2啟動參數80
9.3配置檔案方式啟動82
9.4啟動MongoDB客戶端84
9.5關閉MongoDB84
9.5.1Windows系統設定MongoDB關閉84
9.5.2Linux系統設定MongoDB關閉86
9.5.3MacOS系統設定MongoDB關閉87
9.6設定MongoDB開機啟動88
9.6.1Windows系統設定MongoDB開機啟動88
9.6.2Linux系統設定MongoDB開機啟動89
9.6.3MacOS系統設定MongoDB開機啟動93
9.7修復未正常關閉的MongoDB96
第10章基本命令97
10.1資料庫常用命令97
10.2集合99
10.3文檔101
10.4索引104
10.5基本查詢106
10.5.1find簡介106
10.5.2游標107
10.6條件查詢108
10.6.1與操作108
10.6.2或操作$or108
10.6.3大於$gt108
10.6.4小於$lt108
10.6.5大於等於$gte108
10.6.6小於等於$lte108
10.6.7類型查詢$type108
10.6.8是否存在$exists109
10.6.9取模$mod109
10.6.10不等於$ne109
10.6.11包含$in110
10.6.12不包含$nin110
10.6.13$not:反匹配110
10.7特定類型查詢110
10.7.1null110
10.7.2正則查詢(模糊查詢)110
10.7.3嵌套文檔112
10.7.4數組112
10.8高級查詢$where115
10.8.1JavaScript語言簡介115
10.8.2JavaScript編程簡單例子115
10.8.3JavaScript與$where結合使用115
10.9查詢輔助116
10.9.1條數限制limit116
10.9.2起始位置skip116
10.9.3排序sort116
10.10修改器116
10.10.1$set116
10.10.2$unset117
10.10.3$inc117
10.10.4$push117
10.10.5$pushAll117
10.10.6$pull117
10.10.7$addToSet118
10.10.8$pop118
10.10.9$rename118
10.10.10$bit118
10.11原生聚合運算119
10.11.1數量查詢count119
10.11.2不同值distinct119
10.11.3分組group120
10.11.4靈活統計MapReduce123
10.12聚合管道127
10.12.1aggregate用法127
10.12.2管道操作器128
10.12.3管道表達式139
10.12.4複合使用示例141
第11章GUI工具:資料庫外部管理工具144
11.1MongoDB的GUI工具簡介144
11.2Robomongo基本操作144
11.2.1連線MongoDB145
11.2.2創建刪除資料庫145
11.2.3插入文檔145
11.2.4查詢文檔146
11.2.5更新文檔146
11.2.6創建索引147
11.2.7執行JavaScript148
第12章監控149
12.1原生管理接口監控149
12.2使用serverStatus在Shell監控150
12.3使用mongostat在Shell監控151
12.4使用第三方外掛程式監控152
第13章安全和訪問控制153
13.1綁定監聽ip153
13.2設定監聽連線埠154
13.3用戶認證154
13.3.1啟用認證154
13.3.2添加用戶155
13.3.3用戶許可權控制155
13.3.4用戶登錄157
13.3.5修改密碼157
13.3.6刪除用戶157
第14章數據管理158
14.1數據備份mongodump158
14.2數據恢復mongorestore159
14.3數據導出mongoexport159
14.3.1導出JSON格式159
14.3.2導出CSV格式159
14.4數據導入mongoimport160
14.4.1JSON格式導入160
14.4.2CSV格式導入160
第15章MongoDB驅動161
15.1MongoDB驅動支持的開發語言161
15.2驅動使用流程163
第16章Java操作MongoDB165
16.1安裝JDK165
16.2Eclipse安裝166
16.3載入驅動167
16.4查閱Java操作語法167
16.5測試操作168
16.5.1連線資料庫168
16.5.2插入數據169
16.5.3查詢數據170
16.5.4更新數據170
16.5.5刪除數據171
16.5.6聚合方法執行171
16.5.7操作GridFS172
16.5.8運行示例173
第三部分管理與開發進階篇
第17章副本集部署177
17.1總體思路177
17.2MongoDB環境準備178
17.3創建目錄181
17.4創建Key182
17.5初始化副本集183
17.6數據同步測試190
17.7故障切換測試192
17.8Java程式連線MongoDB副本集測試194
17.9主從複製部署196
第18章分片部署198
18.1總體思路198
18.2創建3個ShardServer201
18.2.1創建目錄201
18.2.2以分片ShardServer模式啟動201
18.3啟動ConfigServer202
18.3.1創建目錄202
18.3.2以分片ConfigServer模式啟動202
18.4啟動RouteProcess203
18.5配置sharding204
18.6對資料庫mytest啟用分片205
18.7集合啟用分片206
18.8分片集群插入數據測試208
18.9分片的管理209
18.9.1移除ShardServer,回收數據209
18.9.2新增ShardServer211
第19章分片+副本集部署212
19.1總體思路212
19.2創建3個複製集215
19.2.1創建目錄215
19.2.2以複製集模式啟動215
19.2.3初始化複製集216
19.3創建分片需要的ConfigServer與RouteProcess217
19.3.1創建目錄217
19.3.2啟動ConfigServer、RouteProcess218
19.4配置分片219
第20章springMVC+maven+MongoDB框架搭建221
20.1SpringMVC和Maven簡介221
20.2Eclipse安裝Maven外掛程式221
20.3新建Maven類型的Web項目222
20.4搭建SpringMVC+MongoDB框架224
20.4.1jar包引入224
20.4.2新建SpringMVC配置檔案228
20.4.3新建MongoDB配置檔案230
20.4.4配置web.xml231
20.4.5創建index.jsp和IndexController232
20.4.6啟動Web項目233
第21章註冊登錄功能的實現235
21.1UI框架Bootstrap235
21.1.1簡介235
21.1.2套用Bootstrap235
21.2新建用戶實體236
21.3註冊功能編寫237
21.3.1註冊頁面代碼237
21.3.2註冊後端代碼239
21.4登錄功能編寫241
21.4.1登錄頁面代碼241
21.4.2登錄後端代碼243
21.5運行測試244
21.6SpingDataMongoDB操作246
21.6.1插入數據247
21.6.2查詢數據247
21.6.3更新數據249
21.6.4刪除數據250
21.6.5聚合方法執行250
21.6.6操作GridFS251
21.6.7運行示例253
第四部分管理與開發經驗篇
第22章MongoDB開發的經驗257
22.1儘量選取穩定新版本64位的MongoDB257
22.2數據結構的設計257
22.3查詢的技巧259
22.4安全寫入數據262
22.5索引設定的技巧264
22.6不要用GridFS處理小的二進制檔案268
22.7最佳化器profiler269
第23章MongoDB管理的經驗271
23.1MongoDB安全管理271
23.2不要將MongoDB與其他服務部署到同一台機器上273
23.3單機開啟日誌Journal,多機器使用副本集274
23.4生產環境不要信任repair恢復的數據275
23.5副本集管理276
23.6副本集回滾丟失的數據278
23.7分片的管理279
23.8MongoDB鎖280
附錄AMongoDB地理位置距離單位285
附錄B相關網址287