MongoDB實戰
《MongoDB實戰 架構、開發與管理》首先簡要闡述NoSQL數據庫的基礎知識,然后介紹了MongoDB業界領先的基于文檔的NoSQL數據庫,讓讀者逐步了解MongoDB方方面面的內容。
本書涵蓋了數據模型、底層架構、使用Mongo Shell編碼、管理MongoDB平臺以及其他主題。本書還提供了使用MongoDB平臺進行架構、開發與部署應用程序的清晰指導與實踐示例。數據庫開發人員、架構師和管理員將在本書中找到涵蓋MongoDB平臺所有知識點的有用信息,以及如何將它用于實踐。
*近幾年,由于各種各樣NoSQL數據庫的涌現,就傳統RDBMS而言的一刀切的想法受到了挑戰。如今市場上有超過120種NoSQL數據庫可用,并且目前處于領先地位的就是MongoDB。隨著如此眾多的公司選擇MongoDB作為其NoSQL數據庫選項,如何結合專業建議以便*化利用該軟件的實踐需求也就越來越大了。
● 深刻理解NoSQL數據庫● 理解如何開始使用MongoDB● 系統講解MongoDB的架構、開發和管理● 眾多的如何實踐讓你可以*為有效地使用該技術來解決你面臨的問題
如今,數據倉庫作為一個行業已經存在很多年了。關系型數據庫被用于存儲數據已經幾十年了,同時SQL已經成為實際上的與RDBMS交互的語言。隨著社交網絡、物聯網以及互聯網上巨量的非結構化數據的涌現,數據存儲、處理以及分析的需求正逐漸爆發。傳統的RDBMS系統和存儲技術并非旨在處理各種各樣海量的數據。因此,大數據技術誕生了,如今它推動著各個互聯網規模公司及其巨量數據的發展。像Facebook、Twitter、Google以及雅虎這樣的公司正在利用大數據技術提供互聯網規模的產品和服務,它們能夠支持數百萬的用戶。本書將幫助讀者理解大數據技術、其出現的背景、需求,然后我們將介紹與使用MongoDB架構解決方案有關的深層技術觀點。本書將讓讀者能夠理解適合使用大數據技術的關鍵用例,也會為讀者提供關于應該在何處小心使用大數據技術或者結合傳統RDBMS技術來提供靈活解決方案的指導。順著本書的內容結構閱讀,我們旨在提供關于學習MongoDB和使用MongoDB創建應用程序及解決方案的分步指南。我們衷心希望我們的讀者能夠享受到閱讀本書的樂趣,就像我們享受了編寫本書的樂趣一樣。本書內容● 作為一本指南,將幫助讀者領會大數據技術中的各種專業術語并且牢牢掌握大數據的各個方面。● 作為一本指南,將幫助讀者理解NoSQL和基于文檔的數據庫,以及它們與傳統的關系型數據庫有多么不同。● 提供了使用MongoDB架構解決方案的見解,還提供了MongoDB作為一個工具所受限制的信息。● 系統地介紹了MongoDB的架構、開發、管理和數據模型。● 引用了示例,以便讓用戶輕松地開始學習該技術。
閱讀本書你需要做的準備MongoDB支持大多數主流平臺。可以從MongoDB下載頁面(http://www.mongodb.org/downloads/)上下載MongoDB最新穩定的正式版本。在本書中,我們將專注于在64位Windows平臺上使用MongoDB,并且在許多地方也引用了如何使用在Linux上運行的MongoDB的參考。我們將使用64位的Windows 2008 R2和Linux系統來提供安裝過程的示例。本書讀者對象對于編程人員、大數據架構師、應用程序架構師、技術愛好者、學生、解決方案專家以及那些希望選擇合適的大數據產品來滿足其需求的人來說,本書將會很有意義。本書介紹了與大數據、NoSQL以及在MongoDB上架構和開發的詳細信息有關的內容。因此它為使用MongoDB的開發人員、架構師和運營團隊提供了用例。
Shakuntala Gupta Edward從10年前就開始使用數據庫技術。她的經驗涵蓋了SQL Server、Oracle數據庫、Analytics平臺以及大數據技術,例如MongoDB、Cassandra和SAP HANA。Shakuntala是一位才華橫溢的架構師,擅長于利用各種數據庫技術為各種業務領域構建產品和解決方案。Shakuntala一直在參與利用大數據技術MongoDB和Cassandra來開發產品和解決方案的工作。Shakuntala擁有計算機應用的碩士學位。
Navin Sabharwal是一位創新者、思想領袖、作者、顧問。他專注于報表與分析領域,包括SQL Server、Oracle、MySql在內的RDBMS技術以及包括Hadoop、MongoDB和SAP HANA在內的大數據技術。Navin一直在使用大數據技術為IT服務管理、產品開發、云計算、云生命周期管理以及社交網絡產品開發領域構建產品和服務。Navin已經構建出有良好商機的屢獲殊榮的產品和解決方案,并且在各個領域都取得了大量專利,比如IT服務、評估引擎、排名算法、容量規劃引擎以及知識管理。Navin還著有以下書籍:Cloud Computing First Steps(CreateSpace出版,ISBN#: 978-1478130086)、Apache Cloudstack Cloud Computing(Packt Publishing出版,ISBN#: 978-1782160106)、Cloud Capacity Management(Apress出版,ISBN #: 978-1430249238)。Navin擁有信息技術方面的碩士學位,并且是經認證的項目管理專家(Certified Project Management Professional)。
第1章 大數據 1
1.1 入門指南 1
1.2 大數據 3
1.3 大數據源 4
1.4 大數據的三個V 5
1.4.1
數量 6
1.4.2
多樣性 6
1.4.3
速率 7
1.5 大數據的使用 7
1.5.1
可見性 8
1.5.2
發現和分析信息 8
1.5.3
市場細分和產品定制 8
1.5.4
協助決策 8
1.5.5
創新 8
1.6 大數據的挑戰 9
1.6.1
政策與程序 9
1.6.2
訪問數據 9
1.6.3
技術與技能 9
1.7 傳統系統與大數據 10
1.7.1
大數據的結構 10
1.7.2
數據存儲 10
1.7.3
數據處理 10
1.8 大數據技術 10
1.9 本章小結 11
第2章 NoSQL 13
2.1
SQL 13
2.2
NoSQL 13
2.2.1
定義 14
2.2.2
NoSQL簡史 14
2.3
ACID對比BASE 15
2.3.1
CAP定理 15
2.3.2
BASE 16
2.4
NoSQL的優缺點 17
2.4.1
NoSQL的優點 17
2.4.2
NoSQL的缺點 18
2.5
SQL與NoSQL數據庫的
對比 18
2.6
NoSQL數據庫的種類 21
2.7 本章小結 22
第3章 MongoDB介紹 23
3.1 歷史 23
3.2
MongoDB設計原則 24
3.2.1
高速、可擴展性與敏捷性 24
3.2.2
非關系型方法 24
3.2.3
基于JSON的文檔存儲 25
3.2.4
性能與功能對比 25
3.2.5
隨處都能運行數據庫 25
3.3 與SQL的對比 26
3.4 本章小結 26
第4章 MongoDB數據模型 27
4.1 數據模型 27
4.1.1
JSON和BSON 28
4.1.2
標識符(_id) 29
4.1.3
固定集合 30
4.2 多態模式 30
4.2.1
面向對象編程 30
4.2.2
模式演化 31
4.3 本章小結 32
第5章 MongoDB-安裝與配置 33
5.1 選擇你的版本