作 者:張澤泉 著 定 價:59 齣 版 社:清華大學齣版社 齣版日期:2017年09月01日 頁 數:290 裝 幀:平裝 ISBN:9787302478607 全麵講解MongoDB的相關知識,使讀者對MongoDB有全麵的認識以很直接、很細緻的方式指導讀者輕鬆掌握MongoDB的安裝、部署與使用以實際工作框架為例子進行講解,使讀者真正能勝任MongoDB的開發管理工作由淺入深,層層遞進,路綫清晰
●部分 基礎與架構理論篇 第1章 初識MongoDB 31.1 MongoDB簡介 31.1.1 MongoDB是什麼 31.1.2 MongoDB的曆史 31.1.3 MongoDB的發展情況 41.1.4 哪些公司在用MongoDB 51.2 MongoDB的特點 51.3 MongoDB應用場景 61.3.1 MongoDB適用於以下場景 61.3.2 MongoDB不適閤的場景 7第2章 MongoDB的結構 82.1 數據庫 82.1.1 數據庫的層次 82.1.2 數據的命名 82.1.3 自帶數據庫 92.2 普通集閤 92.2.1 集閤是什麼 92.2.2 集閤的特點—無模式 92.2.3 集閤命名 92.2.4 子集閤 102.3 固定集閤(Capped) 102.3.1 Capped簡介 102.3.2 Capped屬性特點 102.3.3 Capped應用場景 102.4 文檔 112.4.1 文檔簡介 112.4.2 文檔的特點 112.4.3 文檔的鍵名命名規則 112.5 數據類型 112.5.1 基本數據類型 112.5.2 數字類型說明 122.5.3 日期類型說明 142.5.4 數組類型說明 162.5.5 內嵌文檔類型說明 162.5.6 _id鍵和ObjectId對象說明 172.5.7 二進製類型說明——小文件存儲 192.6 索引簡介 192.6.1 什麼是索引 192.6.2 索引的作用 202.6.3 普通索引 202.6.4 唯一索引 202.6.5 地理空間索引 21第3章 MongoDB的大文件存儲規範GridFs 223.1 GridFS簡介 223.2 GridFS原理 233.3 GridFS應用場景 243.4 GridFS的局限性 24第4章 MongoDB的分布式運算模型MapReduce 254.1 MapReduce簡介 254.2 MapReduce原理 264.3 MapReduce應用場景 28第5章 MongoDB存儲原理 295.1 存取工作流程 295.2 存儲引擎 305.2.1 MMAP引擎 315.2.2 MMAPv1引擎 315.2.3 WiredTiger引擎 325.2.4 In-Memory 335.2.5 引擎的選擇 345.2.6 未來的引擎 34第6章 瞭解MongoDB復製集 356.1 復製集簡介 356.1.1 主從復製和副本集 356.1.2 副本集的特點 386.2 副本集工作原理 386.2.1 oplog(操作日誌) 386.2.2 數據同步 396.2.3 復製狀態和本地數據庫 396.2.4 阻塞復製 406.2.5 心跳機製 406.2.6 選舉機製 416.2.7 數據迴滾 42第7章 瞭解MongoDB分片 437.1 分片的簡介 437.2 分片的工作原理 447.2.1 數據分流 447.2.2 chunkSize和塊的拆分 477.2.3 平衡器和塊的遷移 477.3 分片的應用場景 48第二部分 管理與開發入門篇 第8章 安裝MongoDB 518.1 版本和平颱的選擇 518.1.1 版本的選擇 518.1.2 平颱的選擇 528.1.3 32位和64位 528.2 Windows係統安裝MongoDB 538.2.1 查看安裝環境 538.2.2 安裝步驟 538.2.3 目錄文件瞭解 558.3 Linux係統安裝MongoDB 568.3.1 虛擬機簡介 568.3.2 虛擬機安裝以及安裝Linux係統 588.3.3 安裝MongoDB 678.4 Mac OSX係統安裝MongoDB 738.4.1 查看安裝環境 738.4.2 官網安裝包安裝 738.4.3 Mac軟件倉庫安裝 74第9章 啓動和停止MongoDB 759.1 命令行方式啓動和參數 759.1.1 Windows係統命令行啓動MongoDB 759.1.2 Linux係統命令行啓動MongoDB 769.1.3 Mac OS 係統命令行啓動MongoDB 799.2 啓動參數 809.3 配置文件方式啓動 829.4 啓動MongoDB客戶端 849.5 關閉MongoDB 849.5.1 Windows係統設置MongoDB關閉 849.5.2 Linux係統設置MongoDB關閉 869.5.3 Mac OS係統設置MongoDB關閉 879.6 設置MongoDB開機啓動 889.6.1 Windows係統設置MongoDB開機啓動 889.6.2 Linux係統設置MongoDB開機啓動 899.6.3 Mac OS係統設置MongoDB開機啓動 939.7 修復未正常關閉的MongoDB 96第10章 基本命令 9710.1 數據庫常用命令 9710.2 集閤 9910.3 文檔 10110.4 索引 10410.5 基本查詢 10610.5.1 find簡介 10610.5.2 遊標 10710.6 條件查詢 10810.6.1 與操作 10810.6.2 或操作$or 10810.6.3 大於$gt 10810.6.4 小於$lt 10810.6.5 大於等於$gte 10810.6.6 小於等於$lte 10810.6.7 類型查詢$type 10810.6.8 是否存在$exists 10910.6.9 取模$mod 10910.6.10 不等於$ne 10910.6.11 包含$in 11010.6.12 不包含$nin 11010.6.13 $not: 反匹配 11010.7 特定類型查詢 11010.7.1 null 11010.7.2 正則查詢(模糊查詢) 11010.7.3 嵌套文檔 11210.7.4 數組 11210.8 高級查詢$where 11510.8.1 語言簡介 11510.8.2 編程簡單例子 11510.8.3 與$where結閤使用 11510.9 查詢輔助 11610.9.1 條數limit 11610.9.2 起始位置skip 11610.9.3 排序sort 11610.10 修改器 11610.10.1 $set 11610.10.2 $unset 11710.10.3 $inc 11710.10.4 $push 11710.10.5 $pushAll 11710.10.6 $pull 11710.10.7 $addToSet 11810.10.8 $pop 11810.10.9 $rename 11810.10.10 $bit 11810.11 原生聚閤運算 11910.11.1 數量查詢count 11910.11.2 不同值distinct 11910.11.3 分組group 12010.11.4 靈活統計MapReduce 12310.12 聚閤管道 12710.12.1 aggregate用法 12710.12.2 管道操作器 12810.12.3 管道錶達式 13910.12.4 復閤使用示例 141第11章 GUI工具:數據庫外部管理工具 14411.1 MongoDB的GUI工具簡介 14411.2 Robomongo基本操作 14411.2.1 連接MongoDB 14511.2.2 創建刪除數據庫 14511.2.3 插入文檔 14511.2.4 查詢文檔 14611.2.5 更新文檔 14611.2.6 創建索引 14711.2.7 執行 148第12章 監控 14912.1 原生管理接口監控 14912.2 使用serverStatus在Shell監控 15012.3 使用mongostat在Shell監控 15112.4 使用第三方插件監控 152第13章 安全和訪問控製 15313.1 綁定監聽ip 15313.2 設置監聽端口 15413.3 用戶認證 15413.3.1 啓用認證 15413.3.2 添加用戶 15513.3.3 用戶權限控製 15513.3.4 用戶登錄 15713.3.5 修改密碼 15713.3.6 刪除用戶 157第14章 數據管理 15814.1 數據備份mongodump 15814.2 數據恢復mongorestore 15914.3 數據導齣mongoexport 15914.3.1 導齣JSON格式 15914.3.2 導齣CSV格式 15914.4 數據導入mongoimport 16014.4.1 JSON格式導入 16014.4.2 CSV格式導入 160第15章 MongoDB驅動 16115.1 MongoDB驅動支持的開發語言 16115.2 驅動使用流程 163第16章 Java操作MongoDB 16516.1 安裝JDK 16516.2 Eclipse安裝 16616.3 加載驅動 16716.4 查閱Java操作語法 16716.5 測試操作 16816.5.1 連接數據庫 16816.5.2 插入數據 16916.5.3 查詢數據 17016.5.4 更新數據 17016.5.5 刪除數據 17116.5.6 聚閤方法執行 17116.5.7 操作GridFS 17216.5.8 運行示例 173第三部分 管理與開發進階篇第17章 副本集部署 17717.1 總體思路 17717.2 MongoDB環境準備 17817.3 創建目錄 18117.4 創建Key 18217.5 初始化副本集 18317.6 數據同步測試 19017.7 故障切換測試 19217.8 Java程序連接MongoDB副本集測試 19417.9 主從復製部署 196第18章 分片部署 19818.1 總體思路 19818.2 創建3個Shard Server 20118.2.1 創建目錄 20118.2.2 以分片Shard Server模式啓動 20118.3 啓動Config Server 20218.3.1 創建目錄 20218.3.2 以分片Config Server模式啓動 20218.4 啓動Route Process 20318.5 配置sharding 20418.6 對數據庫mytest啓用分片 20518.7 集閤啓用分片 20618.8 分片集群插入數據測試 20818.9 分片的管理 20918.9.1 移除Shard Server,迴收數據 20918.9.2 新增Shard Server 211第19章 分片+副本集部署 21219.1 總體思路 21219.2 創建3個復製集 21519.2.1 創建目錄 21519.2.2 以復製集模式啓動 21519.2.3 初始化復製集 21619.3 創建分片需要的Config Server與Route Process 21719.3.1 創建目錄 21719.3.2 啓動Config Server、Route Process 21819.4 配置分片 219第20章 springMVC+maven+MongoDB框架搭建 22120.1 SpringMVC和Maven簡介 22120.2 Eclipse安裝Maven插件 22120.3 新建Maven類型的Web項目 22220.4 搭建SpringMVC+MongoDB框架 22420.4.1 jar包引入 22420.4.2 新建SpringMVC配置文件 22820.4.3 新建MongoDB配置文件 23020.4.4 配置web.xml 23120.4.5 創建index.jsp和IndexController 23220.4.6 啓動Web項目 233第21章 注冊登錄功能的實現 23521.1 UI框架Bootstrap 23521.1.1 簡介 23521.1.2 應用Bootstrap 23521.2 新建用戶實體 23621.3 注冊功能編寫 23721.3.1 注冊頁麵代碼 23721.3.2 注冊後端代碼 23921.4 登錄功能編寫 24121.4.1 登錄頁麵代碼 24121.4.2 登錄後端代碼 24321.5 運行測試 24421.6 Sping Data MongoDB操作 24621.6.1 插入數據 24721.6.2 查詢數據 24721.6.3 更新數據 24921.6.4 刪除數據 25021.6.5 聚閤方法執行 25021.6.6 操作GridFS 25121.6.7 運行示例 253第四部分 管理與開發經驗篇第22章 MongoDB開發的經驗 25722.1 盡量選取穩定新版本64位的MongoDB 25722.2 數據結構的設計 25722.3 查詢的技巧 25922.4 安全寫入數據 26222.5 索引設置的技巧 26422.6 不要用GridFS處理小的二進製文件 26822.7 優化器profiler 269第23章 MongoDB管理的經驗 27123.1 MongoDB安全管理 27123.2 不要將MongoDB與其他服務部署到同一颱機器上 27323.3 單機開啓日誌Journal,多機器使用副本集 27423.4 生産環境不要信任repair恢復的數據 27523.5 副本集管理 27623.6 副本集迴滾丟失的數據 27823.7 分片的管理 27923.8 MongoDB鎖 280附錄 A MongoDB地理位置距離單位 285附錄 B 相關網址 287
內容簡介
MongoDB作為很受歡迎的文檔存儲類型的NoSQL數據庫,越來越多的公司在使用它。本書以符閤初學者的思維方式,係統全麵、層層遞進地介紹瞭MongoDB數據庫,通過本書的學習,讀者能夠勝任實際工作環境中MongoDB的相關開發管理工作。本書共分四個部分23章,靠前部分講解瞭MongoDB的相關概念和原理以及其內部工作機製,可以讓讀者對MongoDB有一個全麵的認識。第二部分和第三部分從應用角度,結閤實例講解瞭MongoDB的安裝、配置、部署、開發、集群部署和管理等在實際工作中會用到的技能。第四部分是經驗部分,這部分是作者多年使用MongoDB後總結的技巧,對讀者在工作中使用MongoDB有極大的參考價值。本書適閤MongoDB的初學者,希望深入瞭解MongoDB安裝部署、開發優化的軟件工程師,希望深入瞭解MongoDB管理、集群擴展的數據運維管理員,以及任何對MongoDB相關技術感興趣的等 張澤泉 著 張澤泉,畢業於四川理工學院,數據工程師、中級職稱軟件設計師、CSDN博客專傢。緻力於數據采集、數據分析、數據分布式運算架構等技術的應用與研究。多年一綫MongoDB數據庫存儲、部署、開發經驗,以及將其應用於房地産數據分析、金融數據分析、基因數據分析等領域行業經驗。 第
2
章?
MongoDB的結構
?要很好地使用MongoDB,需要對它的組成結構進行瞭解,本章我們就來學習MongoDB的結構。MongoDB的組成結構如下:數據庫包含集閤,集閤包含文檔,文檔包含一個或多個鍵值對,如圖2-1所示。
圖2-1
文檔包含鍵值對key:value2.1
數據庫2.1.1
&nb;等 我思考瞭很長時間,到底要寫一本什麼樣的書,纔能讓讀者輕鬆、全麵地認識MongoDB。從2012年有幸開始接觸MongoDB並在實際工作環境中使用它,不知不覺已經過瞭5年多的時間。在這5年中,大數據興起,NoSQL來勢洶洶。“有MongoDB使用經驗優先”“精通MongoDB等NoSQL數據庫”這樣的要求也漸漸齣現在招聘要求中。MongoDB作為NoSQL數據庫的典型代錶,越來越多的公司在使用它。在開始學習使用MongoDB的過程中,因為相關書籍資料太少,一路走來確實算是翻山越嶺,跋山涉水。這也是本書名的由來。本書定位關於本書的定位,在我的想象中應該有如下幾點。1. 這不是一本嚴肅的教科書在輕鬆的氛圍中快速學習知識纔能達到比較好的效果,所以我會在書中盡可能多地加入圖畫以幫助讀者加深理解。2. 它能讓讀者從零開始學習數據庫筆者閱讀瞭很多有關MongoDB的書籍,我發現大多數等
MongoDB遊記之輕鬆入門到進階 下載 mobi epub pdf txt 電子書