讀古今文學網 > MongoDB實戰 > 關於本書 >

關於本書

本書適合那些想從基礎開始瞭解MongoDB的應用程序開發者和DBA學習參考。如果你剛剛接觸MongoDB,會發現本書是很好的教材,內容由淺入深。如果你已經是一位MongoDB用戶了,本書的詳細參考指南部分一定能助你一臂之力,它能彌補你知識點上的空白。從深度上來說,本書內容適合資深高級用戶之外的所有用戶。

本書的代碼示例使用的是JavaScript和Ruby,前者是MongoDB Shell的語言,後者是流行的腳本語言。書中盡可能提供簡單、有用的示例,只使用JavaScript和Ruby中最普通的特性,主要目的是以最易理解的方式展現MongoDB API。如果你用過其他編程語言,會發現這些例子都很容易理解。

關於語言,還有一點需要說明。如果你心存疑惑:「為什麼本書不使用某某語言?」那麼大可不必擔心。官方支持的MongoDB驅動提供了一致且類似的API,這意味著一旦你瞭解了某款驅動的基本API,很快就能上手其他的驅動。方便起見,本書在附錄D中提供了對PHP、Java和C++驅動的概述。

本書內容

本書既是教程,又是參考指南。如果你剛剛接觸MongoDB,按順序閱讀全書定會大有收穫。書中有大量代碼示例,你可以自行運行它們以鞏固對概念的理解。運行這些示例前,你至少需要安裝MongoDB,最好還有Ruby驅動,附錄A中有相關的安裝指南。

如果你已經用過MongoDB,那麼可能會對某些特定的主題更感興趣。第7章到第10章,以及所有的附錄都獨立成篇,可以跳躍閱讀。此外,第4章到第6章關注於基礎知識,它們也能脫離上下文進行閱讀。

本書結構

本書分為三部分。

第一部分是對MongoDB的一個詳細介紹。第1章概述了MongoDB的歷史、特性及使用場景。第2章通過MongoDB命令界面介紹了這一數據庫的核心概念。第3章介紹了一個在後端使用MongoDB的簡單應用程序的設計。

第二部分對第一部分中用到的MongoDB API做了詳細說明。這部分共三章,特別專注於應用程序開發,漸進式地描述了電子商務應用的Schema和操作。第4章專門講解MongoDB中最小的數據單元——文檔,提供了一套基本的電子商務Schema。第5章和第6章講述如何通過查詢和更新來使用該Schema。為了更好地進行說明,第二部分中的每一章都對相應主題作了條分縷析的講解。

第三部分關注性能和運維。第7章徹底研究了索引和查詢優化。第8章聚焦於複製,討論高可用性和讀可擴展的MongoDB部署策略。第9章介紹MongoDB的水平擴展方法——分片。第10章是一系列最佳實踐,包含部署、管理以及MongoDB安裝的疑難解答。

本書最後還有5個附錄。附錄A涉及了MongoDB和Ruby(用於演示驅動)在Linux、Mac OS X和Windows上的安裝。附錄B介紹了一系列Schema和應用程序設計模式,還包含了一組反模式。附錄C演示了如何在MongoDB中使用二進制數據,以及如何使用GridFS(所有驅動都實現了的一個規範)在數據庫中存儲大文件。附錄D對PHP、Java和C++的驅動做了一個比較研究。附錄E演示了如何使用空間索引(spatial indexing)來查詢地理坐標。

代碼約定與下載

書中出現的所有源代碼都用等寬字體表示,借此區別於普通文字。

有些代碼清單帶有代碼註解以突出重要概念,有些地方還有帶數字編號的項目符號,以與下文的解釋相聯繫。

作為一個開源項目,10gen將MongoDB的問題追蹤系統開放給了社區。書中的很多地方,尤其是腳注裡,常有問題報告和計劃改進的引用。舉個例子,為數據庫添加全文搜索的問題單是SERVER-380。要查看該問題單的狀態,可以通過瀏覽器訪問http://jira.mongodb.org,在搜索框中輸入單號。

你可以從本書的網站http://mongodb-book.com以及原出版社的網站http://manning.com/MongoDBinAction下載本書的源代碼1和示例數據。

1. 也可在圖靈社區(http://www.ituring.com.cn)本書網頁免費註冊下載。——編者注

軟件要求

想要最大限度地利用本書,你需要在自己的系統上安裝MongoDB,可以在附錄A和MongoDB官方網站(http://mongodb.org)中找到安裝指南。

如果想要運行Ruby驅動的例子,那麼還需要安裝Ruby,同樣可以參考附錄A中的安裝指南。

作者在線

本書的讀者還可訪問Manning Publications運營的私有論壇,在論壇中評論本書、詢問技術問題以及尋求作者和其他用戶的幫助。要訪問並訂閱該論壇,請在瀏覽器中訪問並單擊Author Online,這個頁面中提供的信息包括註冊後如何訪問論壇、可以獲得哪些幫助,還有論壇的管理規則。

Manning承諾為讀者之間和讀者與作者之間的交流提供場所,但對作者在論壇中的參與程度並不做要求,他是義務(不計報酬)參與本書論壇的。我們建議你嘗試問他一些有挑戰性的問題,讓他有興趣繼續訪問本論壇。

只要本書英文版在銷售,作者在線論壇的內容以及之前討論的存檔都會保留在出版社的網站上。