SQL 與 NoSQL 混合資料庫正在取得進展

發表於2012-02-14

SQL與NoSQL混合資料庫解決方案,既相容諸多SQL應用,同時還能提供NoSQL的可擴充套件性。Xeround在雲中提供此類服務,其中包括免費版本。其他方案還有:具備ODBC/JDBC驅動的Database.com、NuoDB、Clustrix和VoltDB。

Xeround提供的是“資料庫作為服務(DB-as-a- Service)”,混合了SQL與NoSQL。前端是MySQL查詢引擎,面向現有的海量MySQL應用,而儲存中用的API使用了記憶體中的分散式 NoSQL物件儲存,大小可達50GB。Xeround的CEO Razi Sharir這樣對InfoQ說。

Xeround為雲中的MySQL應用提供了“資料庫作為服務”。開發人員使用它,能夠方便地在雲中執行應用,同時自動向上或向下擴充套件,同時還能保 證出現故障或資料庫結構變更時不影響可用性。它是真正100%的原生MySQL前端,不僅僅是模擬而已,而且我們會一直使用MySQL前端,以及我們申請 了專利的電信級儲存引擎。我們用Hadoop作為分散式檔案系統,使用雜湊表來完成分散式物件儲存。我們在記憶體中執行,因此按照彈性和線性方式按需分配資 源是自然而然的事情。在設計之初,我們就採取了虛擬化方案,因此不需要從傳統的單一儲存方案轉向雲中的虛擬和分散式儲存方案,不會有類似的轉換之痛。

雲中的服務可以提供高可用性(99.9%)與可擴充套件性,一般來說,這都與NoSQL資料儲存的使用相關。它可部署在Amazon EC2和Rackspace之上,而且可以用作Heroku的外掛,供超過500MB的資料庫使用。提到故障恢復,Sharir這麼說:

終端使用者不需要擔心故障恢復問題,這就是服務的好處。我們在底層會執行多個複製版本,對終端使用者透明。我們處理故障恢復和可擴充套件性等方面的問題。也 不需要做什麼配置。我們就像對等網路,所有節點都可以讀寫,舉個例子,我們不用關心主資料庫的故障恢復或是從複製資料庫讀取資料⋯⋯我們可以即時新增、移 除資源,以滿足擴充套件和HA的要求,我們現在在一家電信公司裡面就是這麼執行的。

Xeround通常會按每GB每小時收 費,但是他們打算提供免費版本,供小型應用和開發使用,資料庫有10MB的限制;還有兩種新的固定版本,具備更高可擴充套件性、更多支援和SLA:基本版—— 資料庫上限100MB,每月17美元;專業版——資料庫上限250MB,每月33美元。Xeround Free目前僅在Amazon的美國區域可用,並且作為Heroku的外掛提供,同時有計劃將服務擴充套件到其他資料中心,而基本版和專業版在Amazon、 Rackspace和Heroku上都有提供。

還有其他類似解決方案。Database.com的服務,通過Progress Software的ODBC和JDBCConnect Drivers連線驅動提供(目前仍是beta版本)。

同樣處於beta版的NuoDB,也是一個NoSQL資料庫,帶有SQL前端, 可以解析SQL 92標準語句,同時支援99標準擴充套件,應用也可以通過ODBC、JDBC以及ActiveRecord驅動訪問。NuoDB可以在任何鍵值對儲存中執行, 而且可以部署在Amazon和Rackspace等雲之上。

Clustrix提供硬體解決方案,並聲稱:當節點加入到資料庫叢集中時,可以提供線性可擴充套件性。配備的硬體是:4核或8核處理器、24至48G記憶體,以及448至896GB的SSD儲存。它也支援MySQL,提供容錯機制,可以像管理單個資料庫一樣檢視和管理整個叢集。

VoltDB是記憶體中的關係型資料庫,帶有SQL和ACID事務支援,同時整合Hadoop和OLAP資料庫,廣告聲稱:因為使用Shared-nothing架構,它提供出色的可擴充套件性。它沒有提供“資料庫作為服務”方式,而是作為資料中心使用的軟體解決方案。它與EC2和VMware映象一起提供,使用者可以評估它在雲中的表現。

文章出處:InfoQ

相關文章