NewSQL
外观
NewSQL是一类关系数据库,它寻求为在线交易处理(OLTP)工作提供NoSQL系统的可扩展性,同时维护传统数据库系统的ACID保证。[1][2][3][4]
许多处理重要数据的企业系统(例如,财务和订单处理系统)对于常规的关系数据库而言太大了,但是具有事务性和一致性要求,这对于NoSQL系统是不切实际的。[5][6] 这些组织以前可用的唯一选择是购买功能更强大的电脑,或开发可通过常规DBMS分发请求的定制中间件。这两种方法都具有高成本或高开发成本的特点。NewSQL系统试图解决这方面的冲突。
历史
[编辑]451集团分析师Matthew Aslett在2011年的一篇研究论文中首次使用了这个词,论文讨论了新一代数据库管理系统的兴起。[5] H-Store并行数据库系统就是最早的NewSQL系统之一。[7][8]
应用
[编辑]典型应用的特点是OLTP事务量大。OLTP事务
- 短期(即没有用户交互)
- 每个事务都接触少量的数据
- 使用索引查找(无表扫描)
- 表单数量少(使用不同参数的少量查询)。[9]
不过,有些支持混合事务/分析处理(HTAP)应用。这些系统通过省略重量级恢复或并发控制来提高性能和可扩展性。[10]典型newsql数据库如TiDB。
功能
[编辑]NewSQL数据库解决方案的两个共同特点是,它们支持NoSQL数据库的在线可扩展性和以SQL为主要接口的关系数据模型(包括ACID一致性)。[11]
新架构
[编辑]NewSQL系统采用多种内部架构。一些系统采用无共享节点的集群,其中每个节点管理数据的子集。它们包括一些组件,比如分布式查询并发控制、流控制和分布式查询处理。
SQL引擎
[编辑]第二类是针对SQL优化的存储引擎。这些系统提供了与SQL相同的编程接口,但比内建引擎更具可伸缩性。
透明切片
[编辑]这些系统使用Raft或Paxos一致性算法在多个节点上自动分割数据库。
参见
[编辑]参考文献
[编辑]- ^ 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.0 2.1 Pavlo, Andrew; et al. What's Really New with NewSQL? (PDF). SIGMOD Record. 2016 [2019-12-07]. (原始内容存档 (PDF)于2019-08-14).
- ^ 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).
- ^ 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.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).
- ^ Lloyd, Alex. Building Spanner. Berlin Buzzwords. 20122012-06-05 [2012-10-07]. (原始内容存档于2012-10-06).
- ^ Aslett, Matthew. Is H-Store the future of database management systems?. 20082008-03-04 [2012-07-05]. (原始内容存档于2012-05-06).
- ^ Dignan, Larry. H-Store: Complete destruction of the old DBMS order?. 2008 [2012-07-05]. (原始内容存档于2013-05-16).
- ^ 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).
- ^ 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.
- ^ 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).
- ^ Venkatesh, Prasanna. NewSQL - The New Way to Handle Big Data. 20122012-01-30 [2012-10-07]. (原始内容存档于2014-04-13).