返回介绍

4.1 NewSQL 分类

发布于 2024-09-26 01:07:25 字数 1610 浏览 0 评论 0 收藏 0

NewSQL 是指一类关系型数据库,即有 NoSQL 的扩展性,又支持 ACID 事务。已知的第一个 NewSQL 系统叫做 H-Store ,它是一个分布式并行内存数据库系统。

NewSQL 系统虽然在的内部结构变化很大,但是它们有两个显着的共同特点:

(1) 它们都支持 关系数据模型

(2) 它们都使用 SQL 作为其主要的接口。

NewSQL 分成三类:New Architecture(分布式)、Transparent Sharding Middleware(中间件)、Database-as-a-Service(DAAS,云数据库)。

**第一类:New Architecture(分布式)**是全新的数据库平台,它们均采取了不同的设计方法。New Architecture 主要针对分布式架构。

它们大概分两类:

(1) 这类数据库工作在一个分布式集群的节点上,其中每个节点拥有一个数据子集。 SQL 查询被分成查询片段发送给自己所在的数据的节点上执行。这些数据库可以通过添加额外的节点来线性扩展。现有的这类数据库有: Google Spanner , VoltDB , Clustrix, NuoDB.

(2) 这些数据库系统通常有一个单一的主节点的数据源。它们有一组节点用来做事务处理,这些节点接到特定的 SQL 查询后,会把它所需的所有数据从主节点上取回来后执行 SQL 查询,再返回结果。

第二类:Transparent Sharding Middleware(中间件) ,系统提供了 分片 的中间件层,数据库自动分割在多个节点运行。中间件思路下,有一个中心组件用来路由请求、协调事务(应该是协调完成分布式事务)、管理数据分布、副本复 制、数据在节点间分区。每个节点上都运行一个单机版的数据库实例,上面有一个组件用于该实例与中心组件交互。整个集群对外是一个逻辑实例。

优势:应用往往已经很适合这种架构,所以不需要做什么改动。

劣势:单节点上的传统数据库是面向磁盘设计的,针对大内存和多核机器无法高效利用;另外就是复杂查询的查询计划和优化在中间件和各节点上会有重复工作。

典型系统:dbShards、MariaDB MaxScale、ScaleArc、ScaleBase。

第三类:Database-as-a-Service 云数据库

典型系统:Amazon Aurora、ClearDB

其它:高度优化的 SQL 存储引擎。这些系统提供了 MySQL 相同的编程接口,但扩展性比内置的引擎 InnoDB 更好。这类数据库系统有:TokuDB, MemSQL。

image-20191201160423701

图 5 NewSQL 分类

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文