最近對雲計算的關注增加了鍵/值數據庫的使用有關這種存儲方式最常見的主題便是其伸縮性對各廠商來說即使無需構建高度伸縮的應用程序或服務雲計算的其他一些優勢也對它們有著強大的吸引力——盡管良好的伸縮性是雲計算的關鍵要素之一
目前可以猜測的使用場景有
◆創業公司無需在本地服務器上進行投資只要購買它們的計算和存儲即可
◆公司想要將現有的應用程序或服務器移植到雲上時它們無需重新架構他們的數據層
◆需要在較短的時間段內獲得大量計算能力
Tony Bain最近發布了一篇文章探討關系數據庫的末日是否已經來臨他將目光對准關系型數據庫和鍵/值數據庫的區別以及從兩者選擇其一的原因上根據Tony的說法關系型數據庫在伸縮性上會遇到一些挑戰
當越來越多的應用程序發布於高負荷(例如Web Services)環境中時它們對伸縮性的需求將會十分明顯首先它們會迅速增長其次它們最終的規模也會非常可觀對於前者來說我們難以管理單個內部服務器上部署的關系型數據庫例如你的負載一夜之間增加兩倍你升級硬件的速度又能有多快?而後者一直便是關系型數據庫在管理上的難點
他列舉了四種選擇鍵/值數據庫而不是關系型數據庫原因
◆你的數據是高度面向文件的
◆你的開發環境是高度面向對象的
◆你的數據存儲很便宜並且很容易和合作伙伴的Web Service平台集成
◆你的最先關注的是按需增長規模龐大的伸縮能力
David Chappell在他關於Azure服務器平台的文件中簡單討論了這個問題David提出了在雲中使用鍵/值數據庫的多種原因不過他也談到
……微軟宣布了一個計劃將SQL Data Service更進一步關系化與Windows Azure存儲不同SQL Data Service構建於SQL Server之上使得這種發展更加自然無論這種模型是什麼樣的這個技術的目標是不變的提供一種伸縮性更強更可靠成本更低的雲數據庫並適合各種類型的應用程序
依賴於不同的關系型特性有以上需求的公司可以更容易地采納這種技術並以此降低成本
類似由Brian Aker發起的Drizzle數據庫它的目標是可伸縮的關系型能力Drizzle基於MySQL 的原代碼並針對雲和網絡應用程序進行了優化現在他們已經從原來的代碼中去除了許多功能並增加了許多新特性
◆微內核架構使Drizzle比MySQL更為模塊化
◆更多接口如認證和日志記錄
◆多核優化(與MySQL相比)
◆更少的數據類型
◆更少的引擎
◆更少的代碼相對更小並且更易於維護的代碼庫
Drizzle仍處於Alpha階段它為類Unix操作系統開發目前不支持Windows
From:http://tw.wingwit.com/Article/program/SQL/201311/16375.html