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一致性算法在多個節點上自動分割數據庫。

參見

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.