MongoDB 從入門到商業實戰

張雯傑,蔡佳玲

  • 出版商: 電子工業
  • 出版日期: 2019-09-01
  • 售價: $714
  • 貴賓價: 9.5$678
  • 語言: 簡體中文
  • ISBN: 712137224X
  • ISBN-13: 9787121372247
  • 相關分類: NoSQL

立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

——-使用Python訪問與操作MongoDB——-使用node.js訪問與操作MongoDB——-實時數據的處理與分析——-跨區域數據中心建置

作者簡介

兩人都是富士康公司數據庫技術的團隊的負責人負責富士康集團中央信息商業智能(BI) 、大數據應用、數據庫管理業務10年/主管職5年(目前擔任中央信息處數據庫應用管理部門主管)自2015年接觸MongoDB至今超過3年

目錄大綱

第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