跳至內容

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

參見

[編輯]

參考文獻

[編輯]
  1. ^ Aslett, Matthew. How Will The Database Incumbents Respond To NoSQL And NewSQL? (PDF). 451 Group. 20112011-04-04 [2012-07-06]. (原始內容 (PDF)存檔於2014-01-10). 
  2. ^ 2.0 2.1 Pavlo, Andrew; et al. What's Really New with NewSQL? (PDF). SIGMOD Record. 2016 [2019-12-07]. (原始內容存檔 (PDF)於2019-08-14). 
  3. ^ Stonebraker, Michael. NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps. Communications of the ACM Blog. 2011-06-16 [2012-07-06]. (原始內容存檔於2011-07-07). 
  4. ^ Hoff, Todd. Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In. 2012-09-24 [2012-10-07]. (原始內容存檔於2012-10-08). 
  5. ^ 5.0 5.1 Aslett, Matthew. What we talk about when we talk about NewSQL. 451 Group. 20102011-04-06 [2012-10-07]. (原始內容存檔於2012-09-05). 
  6. ^ Lloyd, Alex. Building Spanner. Berlin Buzzwords. 20122012-06-05 [2012-10-07]. (原始內容存檔於2012-10-06). 
  7. ^ Aslett, Matthew. Is H-Store the future of database management systems?. 20082008-03-04 [2012-07-05]. (原始內容存檔於2012-05-06). 
  8. ^ Dignan, Larry. H-Store: Complete destruction of the old DBMS order?. 2008 [2012-07-05]. (原始內容存檔於2013-05-16). 
  9. ^ Stonebraker, Mike; et al. The end of an architectural era: (it's time for a complete rewrite (PDF). VLDB '07: Proceedings of the 33rd international conference on Very large data bases. Vienna, Austria. 2007 [2019-12-07]. (原始內容存檔 (PDF)於2019-07-13). 
  10. ^ Stonebraker, M.; Cattell, R. 10 rules for scalable performance in 'simple operation' datastores. Communications of the ACM. 2011, 54 (6): 72. doi:10.1145/1953122.1953144. 
  11. ^ Cattell, R. Scalable SQL and NoSQL data stores (PDF). ACM SIGMOD Record. 2011, 39 (4): 12 [2019-12-07]. CiteSeerX 10.1.1.692.2621可免費查閱. doi:10.1145/1978915.1978919. (原始內容存檔 (PDF)於2013-10-07). 
  12. ^ Venkatesh, Prasanna. NewSQL - The New Way to Handle Big Data. 20122012-01-30 [2012-10-07]. (原始內容存檔於2014-04-13).