Google-----Megastore白皮書

[日期:2011-02-14] 來源:CSDN  作者: [字體: ]

實際上,作爲一個建立於Bigtable之上的分佈式存儲系統,Megastore已經被谷歌使用了數年。Google在2008年的SIGMOD大會上就已經開始討論它了,但相關技術信息直到最近才被公佈,在上個月舉行的創新數據系統研討會上(CIDR),Google公開了其Megastore分佈式存儲技術的白皮書。

論文下載谷歌Megastore論文.pdf

【如果直接點擊下載不成功,請使用:右擊—目標另存爲】

在該白皮書上,Google對於Megastore的功能描述是——高擴展性並具有高密度交互的可用存儲服務,其在Google的基礎系統之中,其主要用來解決Appengine的數據存儲問題。

Megastore融合NoSQL和SQL

提到Google的Bigtable,必然會提到NoSQL,對於廣大的NoSQL研發人員而言,當前最核心問題正糾結於如何將NoSQL與傳統的關係型數據庫融合,而Megastore就是專門用來解決這一問題的。

Megastore用一種新穎的方式把NoSQL數據存儲的可擴展性和傳統的關係型數據庫融合在一起,併爲一致性和高可用性提供了強有力的保證。Google在該論文中指出。目前提供的數據完全按照ACID語義序列進行高密度的排序。

Google重點談到了現今的Web應用,白皮書中指出,所有的Web應用都面臨以下技術瓶頸:可擴展性、快速的爭取並發展用戶、延遲反應、用戶數據(雲環境下要保證任何時候都可用)。

“但實際上,這些需求是衝突的”,白皮書指出。“關係數據庫提供了一組豐富且方便構建應用程序的功能,但是它們很難擴展到數以億計的用戶。非關係數據庫則有高度的可擴展性。例如谷歌的Bigtable,Apache Hadoop的HBase,或者Facebook的cassandra。但其API有限且鬆散一致性模型不利於開發應用。在遠程數據中心之間傳送數據,同時保證低延遲是具有挑戰性的。要注意保證所複製數據的一致性,尤其是傳送過程中的錯誤。”

關係型數據庫在Google沒有未來

傳統的關係數據庫管理系統已經被Google所否定,比如MySQL。在該文件中指出,“昂貴的商業數據庫系統,如Oracle數據庫,會大幅加大用戶在雲中大幅部署的總成本”。

Megastore的設計原理在於,能夠在廣域網中同步複製文件寫操作、可接受的延時、支持跨數據中心的故障遷移。在兩個可擴展的非關係數據庫的中間地帶,比一個傳統的關係數據庫更爲方便。

Google在該論文中還透露,目前Google有100多個生產應用Megastore作爲存儲服務,而這些應用的可靠度在99.99%到100%之間。根據數據中心的距離和寫入數據的大小,應用程序的平均讀取延遲在萬分之一毫秒之內,平均寫入延遲在100至400毫秒之間。

NoSQL專家——ACID令人印象深刻

曾經關注了Megastore多年,並不停更新關於Megastore的技術信息的Amazon的技術大牛——James Hamilton日前在其博客中公開表示,很欽佩該技術,他在博客中寫道:“Megastore一貫支持閱讀和完整更新ACID語義使人印象深刻,即便不能夠更新比'每秒數'限制更多的實體組限制。”

CSDN觀察:實際上,Megastore已經是Google過時的存儲技術,但聊勝於無,Google選擇在此時將此論文公開,對於NoSQL的整體技術進步無疑還是有好處的。

Google目前正在使用的存儲系統是Spanner架構,在Google的技術規劃中,Spanner能夠控制一百萬到一千萬臺服務器,包括10萬億(1013)目錄和一千萬億(1018)字節的存儲空間。而這所有一切分散在世界各地的數據中心,而Spanner的最強大之處在於能夠爲50微妙之內的數據傳遞提供通道——即便這兩個數據中心分佈於地球的兩端。

原文鏈接:http://www.informationweek.com/news/internet/google/showArticle.jhtml?articleID=229205494&cid=RSSfeed_IWK_All

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章