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.