二、云計算對關系型數據庫的影響
正如10Gen工程副總裁Geir Magnusson所指出那樣,“在云計算計劃里將找不到關系數據庫的影子,這并非偶然,因為關系數據庫不適合用于云計算環境”。同時他還指出:“云計算是一種不同的技術,不同得足夠改變開發者看待問題和解決問題的方式”。“我們將不得不重新審視我們做事的方式”。
例如:許多被專門開發用于云計算環境的新型數據庫,包括Google韻Bigtable,Amazon的SimpleDB,10Gen的Mongo,AppJet的AppJet數據庫以及甲骨文開源BerkelyDB。這些數據庫沒有一個是關系型的。
這些數據庫具有一些共同特征,正是這些特征使它們特別適用于服務云計算式的應用。它們中的大多數可以在分布式環境中運行,這意味著他們可以分布在多個地點的多臺服務器上。它們本質上都不是事務性的,并且都犧牲了一些高級查詢能力以換取更好的性能。在很多情況下,這些數據庫可以通過對象調用來檢索,而不用SQL。
盡管大型關系數據庫已經被應用在很多數據處理中心,但云計算需要一種不同的設置來充分發揮其潛力。試想,在跨越地理空間距離之間執行復雜查詢以便減少響應時間、設計和維護支持不同位置的相關數據備份、在一個點癱瘓時能保證該數據同步、維護和運行這樣的體系并非易事。因此,數據庫組成部分在不同位置的分散對云計算很必要,這也是云計算產生的原因。更重要的是云體系結構具有不同于目前使用的關系型結構的屬性,在云體系結構里,關系不復存在,人們以群集形式看待數據。
目前用戶所使用的傳統數據庫開發軟件系統本質應該叫數據庫軟件系統,是一個數據庫系統,開發這樣的系統非常簡單,成本也非常低廉,只要根據需求先設計好數據表結構,然后,設計編寫大量SQL語句,雖然也使用JAVA/PHP/.NET等語言,但實際上這些語言只是將SQL送往數據庫執行的運輸工,沒有什么價值和地位。所以,這樣的系統運行在互聯網環境下,主要負載就集中在數據庫的SQL運行上,也就是說:整個軟件系統性能關鍵點就集中在數據庫上了,數據庫是性能的主要承擔者,盡管用戶使用的有可能是Websphere/weblogic等應用服務器,但是由于Java只是運輸工,所以起不到性能上分散負載的作用。
正是由于以上種種原因,有專家認為云計算對關系型數據庫的應用將產生巨大的影響,而絕大多數電子商務系統所使用的數據庫還是基于關系型的數據庫,隨著云計算的大量應用,勢必對電子商務數據庫的構建產生影響,進而影響整個電子商務技術的發展。
|