讀古今文學網 > MongoDB實戰 > 1.1 生於雲端 >

1.1 生於雲端

MongoDB的歷史雖然不長,但卻值得回顧,它誕生於一個更宏偉的項目。在2007年年中,一個名為10gen的創業公司著手開發一個PaaS(Platform-as-a-Service)項目,它由應用服務器和數據庫組成,用於托管Web應用程序並能按需伸縮。與谷歌的AppEngine類似,10gen的平台也設計成能夠自動伸縮,自動管理硬件和軟件基礎設施,它解放了開發者,讓他們能夠專注於應用程序代碼。10gen最終發現大多數開發者並不喜歡放棄對技術棧的掌控,但他們的確喜歡10gen的新數據庫技術。後來10gen將精力集中到數據庫上,就有了MongoDB。

隨著越來越多的人在大大小小的項目中選擇MongoDB並在生產環境中進行部署,10gen繼續以開源項目的形式支持MongoDB數據庫的開發。代碼是公開的,而且可以自由修改和使用,只要遵循其開源協議的條款即可,而且10gen也鼓勵社區報告缺陷和提交補丁。到目前為止,MongoDB的所有核心開發者不是10gen的創始人,就是10gen的員工,而這一項目的規劃繼續由用戶社區的需求來決定,創造該數據庫的最終目標是將關係型數據庫中最好的特性和分佈式鍵值存儲結合起來。因此10gen的商業模式和其他知名開源公司毫無二致:支持開源產品的開發,並向最終用戶提供訂閱服務。

這段歷史中有幾點需要注意。首先,MongoDB最初是為一個要求數據庫能在多台機器間優雅伸縮的平台而開發的。其次,MongoDB是作為Web應用程序的數據存儲設計的。正如我們稍後會看到的,MongoDB被設計為可水平伸縮的主要數據存儲,這一點把它和其他現代數據庫系統區別開來。