NewSQL

来自维基百科,自由的百科全书

NewSQL是一類關係資料庫,它尋求為線上交易處理(OLTP)工作提供NoSQL系統的可延伸性,同時維護傳統資料庫系統的ACID保證。[1][2][3][4]

許多處理重要數據的企業系統(例如,財務和訂單處理系統)對於常規的關聯式資料庫而言太大了,但是具有事務性和一致性要求,這對於NoSQL系統是不切實際的。[5][6] 這些組織以前可用的唯一選擇是購買功能更強大的電腦,或開發可通過常規DBMS分發請求的客製化中介軟體。這兩種方法都具有高成本或高開發成本的特點。NewSQL系統試圖解決這方面的衝突。

歷史

451集團分析師Matthew Aslett在2011年的一篇研究論文中首次使用了這個詞,論文討論了新一代資料庫管理系統的興起。[5] H-Store並列資料庫英語Parallel database系統就是最早的NewSQL系統之一。[7][8]

應用

典型應用的特點是OLTP事務量大。OLTP事務

  • 短期(即沒有用戶互動)
  • 每個事務都接觸少量的數據
  • 使用索引尋找(無表掃描)
  • 表單數量少(使用不同參數的少量查詢)。[9]

不過,有些支援混合事務/分析處理英語Hybrid transactional/analytical processing(HTAP)應用。這些系統通過省略重量級恢復英語Algorithms for Recovery and Isolation Exploiting Semantics並行控制來提高效能和可延伸性。[10]典型newsql資料庫如TiDB。

功能

NewSQL資料庫解決方案的兩個共同特點是,它們支援NoSQL資料庫的線上可延伸性和以SQL為主要介面的關係數據模型(包括ACID一致性)。[11]

NewSQL系統可以大致分為三類:[2][12]

新架構

NewSQL系統採用多種內部架構。一些系統採用無共用英語Shared nothing architecture節點的叢集,其中每個節點管理數據的子集。它們包括一些組件,比如分散式查詢並行控制、流控制和分散式查詢處理。

SQL引擎

第二類是針對SQL最佳化的儲存引擎。這些系統提供了與SQL相同的編程介面,但比內建引擎更具可伸縮性。

透明切片

這些系統使用RaftPaxos一致性演算法在多個節點上自動分割資料庫。

參見

參考文獻

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.