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).