在数据库技术的发展过程中,NewSQL作为一种新兴的数据库系统,旨在结合SQL的一致性和NoSQL的可扩展性。NewSQL系统以关系型数据和SQL查询语言为基础,旨在解决NoSQL运动中出现的可扩展性、灵活性和缺乏焦点的问题。与传统SQL相比,NewSQL提供了更高的一致性。在这个类别中,存在一些差异。例如,HANA是一个强大的商业报告平台,也能处理较低的事务需求,非常适合SAP部署。而Hekaton则为MS SQL Server增加了增强的内存处理能力。这些系统目前都是非集群的,旨在快速替换或补充SQL部署。
NewSQL系统具有以下特点:
全新的数据库平台是NewSQL系统的第一种类型。这些平台旨在在无共享节点的集群中工作,每个节点拥有数据的一部分。这些数据库通常具有架构意识,具有并发管理、流量控制和查询处理等功能。
以下是市场上流行的NewSQL数据库系统的例子:
参数 | SQL | NoSQL | NewSQL |
---|---|---|---|
可扩展性 | 可扩展读取 | 可扩展读取和写入,水平可扩展 | 可扩展读取和写入,水平可扩展 |
模式 | 关系模式/表 | 无模式 | 支持两者 |
高可用性 | 自定义高可用性 | 自动高可用性 | 内置高可用性 |
存储 | 磁盘+缓存 | 磁盘+缓存 | 磁盘+缓存 |
云支持 | 不完全支持 | 完全支持 | 完全支持 |
查询复杂性 | 低 | 高 | 非常高 |
ACID-CAP BASE | ACID | 通过BASE的CAP | ACID |
OLTP | 不完全支持 | 不支持 | 完全支持 |
安全问题 | 非常高 | 低 | 低 |
例子 | Oracle, MsSQL, MySQL等 | MongoDB, Cassandra, Redis等 | CockroachDb, Google Spanner, VoltDb |
NewSQL通过提供更高的一致性来降低应用程序的复杂性,并提供完整的事务支持。它具有弹性的可扩展性,可以动态重新平衡分区,从实时警报中获得即时事件响应,以及提供高可用性的“无共享”架构。以下是Gemfire XC的一些突出特点: