云計算說:關(guān)系數(shù)據(jù)庫你就要被淘汰了
“在云計算計劃里將找不到關(guān)系數(shù)據(jù)庫的影子,這并非偶然,因為關(guān)系數(shù)據(jù)庫不適合用于云計算環(huán)境”,Geir Magnusson,10Gen工程副總裁這樣認(rèn)為。10Gen是一家按需平臺服務(wù)供應(yīng)商。
Magnusson幫助編寫過Apache Geronimo應(yīng)用服務(wù)器軟件,近期在紐約舉行的O'Reilly Web 2.0 會議上發(fā)言中他指出:“云計算是一種不同的技術(shù),不同的是足夠改變開發(fā)者看待問題和解決問題的方式”。“我們將不得不重新審視我們做事的方式”,他說。
在發(fā)言期間,Magnusson列舉了許多被專門開發(fā)用于云計算環(huán)境的新型數(shù)據(jù)庫,包括Google'的Bigtable, Amazon的 SimpleDB, 10Gen自己的 Mongo, AppJet的 AppJet 數(shù)據(jù)庫以及甲骨文開源BerkelyDB。
Magnusson指出,這些數(shù)據(jù)庫沒有一個是關(guān)系型的(他特別強調(diào)了一個值得注意的例外“Drizzle”,MySQL應(yīng)用于web環(huán)境的一個精裝版)。
這些數(shù)據(jù)庫具有一些共同特征,正是這些特征使它們特別適用于服務(wù)云計算式的應(yīng)用。它們中的大多數(shù)可以在分布式環(huán)境中運行----意味著他們可以分布在多個地點的多臺服務(wù)器上。它們本質(zhì)上都不是事務(wù)性的,并且都犧牲了一些高級查詢能力以換取更好的性能。(在很多情況下,這些數(shù)據(jù)庫可以通過對象調(diào)用來檢索,而不用SQL,無論如何,對程序員來說,前者更自然些)。
盡管大型關(guān)系數(shù)據(jù)庫如甲骨文公司提供的產(chǎn)品,已經(jīng)被部署在很多數(shù)據(jù)中心,但云計算需要一種不同的設(shè)置來充分發(fā)揮其潛力。數(shù)據(jù)庫組成部分在不同位置的分散對云計算很必要,這也是其名得來的原因。在遼闊的地理距離之間執(zhí)行復(fù)雜查詢可以減少響應(yīng)時間,此外,設(shè)計和維護(hù)支持不同位置的相關(guān)數(shù)據(jù)備份并在一個點癱瘓時能保證該數(shù)據(jù)同步的體系并非易事。
“云體系結(jié)構(gòu)里的衡量具有不同于我們現(xiàn)在使用的關(guān)系型結(jié)構(gòu)的屬性”,他說,其結(jié)果是:“在云體系結(jié)構(gòu)里,關(guān)系不復(fù)存在,人們以群集形式看待數(shù)據(jù)”。
Magnusson的觀點得到會上另一位發(fā)言人AdaptiveBlue 公司的Alex Iskold的贊同,AdaptiveBlue是一家以客戶為導(dǎo)向的公司,該公司提供一種瀏覽器插件,能根據(jù)用戶的使用歷史,使用語義標(biāo)記和Web服務(wù)體現(xiàn)個性化設(shè)置。該公司把服務(wù)建立在Amazon的托管平臺服務(wù)上,包括SimpleDB。Iskold指出如果AdaptiveBlue使用關(guān)系型數(shù)據(jù)庫那么這種服務(wù)將不會擴大到廣泛使用。
【編輯推薦】