MongoDB之父:MongoDB勝過BigTable

chenfeng發表於2016-01-04

Dwight Merriman在1996年與人共同創辦DoubleClick公司,並擔任技術長一職十年。Dwight Merriman的目標是構建一個類似於Google App Engine或是微軟Azure的“雲平臺”。
Dwight Merriman和他的團隊,包括ShopWiki的創始人Eliot Horowitz參加了在紐約10gen啟動MongoDB的儀式。現在該公司除了擔任該開源專案的主要運營者之外,還提供支援、培訓和諮詢服務。 10gen在舊金山舉辦了第二屆開發者大會,Merriman在上午的大會做了主題演講,主要介紹了MongoDB的起源,並解釋了為何要建立這樣的資料 庫。

“在2007年底,當時的想法是構建一個用於開發、託管並具有自動縮放Web應用程式的線上服務”,談到MongoDB誕生之目的 時,Merriman介紹道。“但是不同於Google App Engine的是,這項服務完全建立在一個開放原始碼的軟體平臺之上。”因此,在關注了Google Bigtable架構很長一段時間後,Merriman和他的團隊注意到,尚沒有一個開源的資料庫平臺適合這種服務,這興許是個機會。

 

“我們意識到很多現有的資料庫並不真正具備‘雲端計算’的特性。例如彈性、可擴充套件性以及易管理性。這些特效能夠為開發者和運營者帶來便利,而MySQL還不完全具備這些特點。

因此,Dwight Merriman以及他的團隊的目標是構建一個全新的資料庫。新的資料庫將會放棄大家所熟悉的關聯式資料庫模型,且是適合現代網路應用並基於分散式的平臺。 高度事務性的系統可以幫助解決一些棘手的問題,同時還支援雲端計算架構的伸縮性。Merriman解釋到。經過一年的不斷努力,這個資料庫已經比較完善。他 們將它設計為具有為“雲端計算服務”潛力的資料庫。而且還會不斷的完善,因為MongoDB本身就是一個開源資料庫。

 

在開源的、面向文件的資料庫中,MongoDB經常被譽為具有RDBMS功能的NoSQL資料庫。MongoDB還帶有互動式shell,這使得訪問其資料儲存變得簡單,且其對於分塊的即裝即用的支援能夠使高可伸縮性跨多個節點。

據悉,MongoDB的API是JSON物件和JavaScript函式的本地混合物。通過shell程式開發人員可與MongoDB進行互動,即 允許命令列引數,或通過使用語言驅動程式來訪問資料儲存例項。這裡不存在類JDBC驅動程式,這意味著開發人員不必處理ResultSet或 PreparedStatement。

而速度是 MongoDB 的另外一個優勢,主要是由於它處理寫入的方式:它們儲存在記憶體中,然後通過後臺執行緒寫入磁碟。

“由於使用者不容易在大規模環境下作分散式的連結,並且在分散式環境下很難做快速的大規模部署,因此,使用者需要一些輔助的東西”,Memmiman解釋道。

最後他表示同樣重要的是為了限制資料庫的事務語義你可以使用分散式事務。但當你在1000臺機器上執行時它不會那麼快。例如銀行或會計系統。傳統的關係型資料庫目前還是更適用於需要大量原子性複雜事務的應用程式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-1970745/,如需轉載,請註明出處,否則將追究法律責任。

相關文章