NewSQL——優化的SQL存儲引擎(TokuDB, MemSQL)+?

NewSQL 是對各類新的可擴展/高性能數據庫的簡稱,這類數據庫不只具備 NoSQL對海量數據的存儲管理能力,還保持了傳統 數據庫支持 ACIDSQL等特性。
NewSQL 是指這樣一類新式的關係型數據庫管理系統,針對OLTP(讀-寫)工做負載,追求提供和NoSQL系統相同的擴展性能,且仍然保持ACID和SQL等特性 (scalable and ACID and (relational and/or sql -access))。

歷史

NewSQL一詞的提出

NewSQL一詞是由451 Group的分析師Matthew Aslett在研究論文中提出的。它代指對老牌數據庫廠商作出挑戰的一類新型數據庫系統。

發展趨勢

NoSQL謝幕,NewSQL登場 [1]  
NoSQL將改變數據的定義範圍。它再也不是原始的數據類型,如 整數浮點。數據多是整個文件。NoSQL可能會嚇到 DBA,由於他們擔憂失去他們本身的領域。
NoSQL數據庫是非關係的、水平可擴展、分佈式而且是開源的。 MongoDB的創始人Dwight Merriman表示NoSQL可做爲一個Web應用服務器、內容管理器、結構化的事件日誌、移動應用程序的服務器端和文件存儲的後備存儲。
分佈式數據庫公司 VoltDB的首席技術官Michael Stonebraker表示NoSQL數據庫可提供良好的擴展性和靈活性,但他們也有本身的不足。因爲不使用SQL,NoSQL數據庫系統不具有高度結構化查詢等特性。NoSQL其餘的問題還包括不能提供 ACID(原 子性、一致性、隔離性和持久性)的操做。另外不一樣的NoSQL數據庫都有本身的查詢語言,這使得很難規範應用程序接口。Stonebraker表示數據庫 系統的滯後一般可歸結於多項因素。諸如以恢復日誌爲目的的數據庫系統維持的緩衝區池,以及管理鎖定和鎖定的數據字段。在VoltDB的測試中發現以上這些 行爲消耗系統96%的資源。 [2]  

現有NewSQL系統廠商舉例

包括(順序隨機)Clustrix、GenieDB、ScalArc、Schooner、 VoltDB、RethinkDB、ScaleDB、Akiban、CodeFutures、ScaleBase、Translattice和NimbusDB,以及 Drizzle、帶有 NDB的 MySQL 集羣和帶有HandlerSocket的 MySQL。後者包括Tokutek和JustOne DB。相關的「NewSQL做爲一種服務」類別包括亞馬遜關係數據庫服務,微軟SQL Azure,Xeround和FathomDB。 [3]  

系統分類

NewSQL系統雖然在的內部結構變化很大,可是它們有兩個顯着的共同特色:(1)它們都支持 關係數據模型,(2) 它們都使用 SQL做爲其主要的接口。已知的第一個NewSQL系統叫作 H-Store,它是一個分佈式並行內存數據庫系統。目前NewSQL系統大體分三類:

新架構

第一類型的NewSQL系統是全新的數據庫平臺,它們均採起了不一樣的設計方法。它們大概分兩類:
(1) 這類數據庫工做在一個分佈式集羣的節點上,其中每一個節點擁有一個數據子集。 SQL查詢被分紅查詢片斷髮送給本身所在的數據的節點上執行。這些數據庫能夠經過添加額外的節點來線性擴展。現有的這類數據庫有: Google Spanner, VoltDB, Clustrix, NuoDB.
(2) 這些數據庫系統一般有一個單一的主節點的數據源。它們有一組節點用來作事務處理,這些節點接到特定的SQL查詢後,會把它所需的全部數據從主節點上取回來後執行SQL查詢,再返回結果。

SQL引擎

第二類是高度優化的SQL存儲引擎。這些系統提供了MySQL相同的編程接口,但擴展性比內置的引擎InnoDB更好。這類數據庫系統有:TokuDB, MemSQL

透明分片

這類系統提供了分片的中間件層,數據庫自動分割在多個節點運行。這類數據庫包擴:ScaleBase,dbShards, Scalearc。
 
轉自:百度百科
相關文章
相關標籤/搜索