暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

NewSQL:SQL和NoSQL之间的桥梁

原创 不言 2022-09-19
1504

简介

NewSQL比NoSQL更具体。关系型数据和SQL查询语言是NewSQL系统的基础。他们希望解决NoSQL中可扩展性、灵活性和缺乏聚焦的难点,NewSQL提供了更多的一致性。然而,在这个分类中,有一些区别。HANA是一个强大的商业报表平台,也能处理较少的交易需求,使其成为SAP部署的完美选择。Hekaton在MS SQL Server基础上加强了内存处理。这两个系统目前都是非集群的,旨在快速取代SQL部署或作为补充。

假设你有GB到TB的数据,需要高速事务访问。你可能有一个输入流,如传感器、移动电话或网络接入点,你需要用每个事件的交易来计算实时答案和分析。可以使用”摄入、分析、决定“的方法来解决这个问题,分析和选择根据每次请求来确定,而不是在批处理中处理。在这种情况下,NewSQL系统是最好的选择,它结合了NoSQL的可扩展架构和更强的一致性。

NewSQL的特点

  1. 选择SQL作为查询语言。
  2. 事务支持原子性,一致性,隔离性,持久性的属性。
  3. 非锁定的并发控制技术(如MVCC)。
  4. 单点性能提升明显的架构。
  5. 无共享,横向扩展的架构。

全新的数据库平台是NewSQL系统的第一种类型。每个节点都运行在无共享的集群中,每个节点拥有一部分的数据。这些数据库在构建时经常考虑架构,如并发管理、流量控制和查询处理等功能。

Google Spanner,Clustrix,VoltDB,MemSQL,Pivotal的GemFire XD,SAP HANA,NuoDB,TiDB,Trafodion都是例子。

SQL,NoSQL,NewSQL的区别

SQL、NoSQL和NewSQL之间有一些区别。下图很好地描述了这些区别。

图片.png

比较角度 SQL NoSQL NewSQL
1.可扩展性 扩展性读 扩展性读写,横向扩展性 扩展性读写,横向扩展性
2.Schema 关系型Schema/Table 无Schema 都支持
3.高可用 定制的高可用性 自动的高可用 内置高可用
4.存储 磁盘+缓存 磁盘+缓存 磁盘+缓存
5.云支持 不是全部 支持 全部支持
6.查询复杂度 极高
7.ACID CAP BASE ACID 基于BASE的CAP ACID
8.OLTP 不全部支持 不支持 全部支持
9.安全 非常非常高
10.案例 Oracle, MsSQL, MySQL等 MongoDB, Cassandra, Redis等 CockroachDB,Google Spanner, VoltDB等

最常见的NewSQL数据库

NewSQL是一项非常有趣的技术,它正在变得越来越广泛。今天市场上的顶级NewSQL数据库是适应性强、功能强大的解决方案,经过精心设计,能满足公司的要求。

VoltDB

VoltDB成立于2009年,在近来快速发展的内存数据库市场中,成为最突出的NewSQL供应商之一。支持的语言有Python、Java、PHP和C++。VoltDB是一个开源的商业工具,目标是在OLTP查询,包括ACID保证、分片和数据复制。它采用了确定性并发管理以及一个全局串行顺序控制器用来支持跨多分区的分片事务。

ClustrixDB

ClustrixDB是一个数据库,提供了自动容错和保存多数据副本的机制。Clustrix与MySQL兼容,并将多版本并发控制(MVCC)与两阶段锁定相结合,用来解决输入冲突。它成立于2006年,最近被MariaDB收购。与AWS和其他流行的基于云的数据库服务器相比,Clustrix有各种优势,包括复杂的故障转移和容错功能以及超过1TB的扩展和执行能力。基于集群的云架构的其他功能包括在线模式修改,线性扩展,以及在线增长。

NuoDB

NuoDB成立于马萨诸塞州的剑桥市,被知名的金融科技公司广泛使用。法国3D设计公司Dassault Systèmes于2020年11月购买了它,用于提供可扩展的、多云分布式SQL数据库解决方案。达索系统公司利用NuoDB管理其在线3D组件制造商和客户的全球数据库,汇集了来自世界各地的工程师和设计师。

CockroachDB

CockroachDB是由Cockroach实验室发明并建立的一个适应性强的NewSQL数据库,被广泛的知名企业所利用,包括摩根大通、思科和百思买。此外,CockroachDB是一个强大用于组织自动化工具,因为它可以简单地链接到基于云的集群解决方案,如Kubernetes。CoackroachDB由前谷歌员工创建,它以Spanner为基础,使用开源的分布式SQL数据库,拥有水平扩展和高度一致的事务层。

VMware Tanzu GemFire

这个NewSQL数据库,以前被称为Pivotal Gemfire XC,在2019年被VMware收购,并更名为VMware Tanzu GemFire。Gemfire是一个多层的、地理分布的、集群的云数据库,拥有强大的性能。Gemfire基于内存、水平可扩展的设计使其区别于其他NewSQL数据库,即使在使用高峰期也能保证稳定的低延迟。

NewSQL的优势

  • 通过更强的一致性和完整的事务支持减少了应用层复杂度。
  • 弹性扩展可以动态重平衡分区。
  • 当下事件响应来自实时报警。
  • 弹性的"无共享"架构提供了高可用性,这只是Gemfire XC的几个突出特点。
  • . net和NodeJS对不同语言的支持是无障碍的。
  • 新SQL使用常见的工具和熟悉的SQL。
  • 有更多的分析方法,包括SQL和扩展。
  • 许多NewSQL系统结合了传统的数据,如RDBMS和查询模型,以及NoSQL风格的集群。

NewSQL的不足

  • No:NewSQL系统的目的是要像SQL系统一样具有通用性。
  • In-memory: 系统可能不适合大于几TB的数据集。
  • Only:提供了对SQL系统广泛工具的有限访问。

结论

NewSQL是当前RDBMS的一个子集,用满足NoSQL系统在在线交易处理(OLTP)中读写工作负载时具有的可扩展性,同时保持传统数据库系统的ACID(原子性、一致性、隔离性、持久性)特性。NoSQL的主要限制是它缺乏ACID功能。

  • 这篇文章解释了NewSQL和可以使用的工具。
  • 还描述了SQL、NoSQL和NewSQL之间明显的区别。
  • NewSQL就像SQL和NoSQL之间的桥梁。NewSQL是种数据库解决方案,正在获得IT界的广泛关注。

参考

[1] https://medium.com/rabiprasadpadhy/google-spanner-a-newsql-journey-or-beginning-of-the-end-of-the-nosql-era-3785be8e5c38

原文标题:NewSQL: The Bridge between SQL and NoSQL
原文作者:Dulari Bhatt
原文地址:https://www.analyticsvidhya.com/blog/2022/06/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论