其他分享
首页 > 其他分享> > SequoiaDB - 了解

SequoiaDB - 了解

作者:互联网

简介

SequoiaDB 巨杉数据库是一款开源的金融级分布式关系型数据库,主要面对高并发联机交易型场景提供高性能、可靠稳定以及无限水平扩展的数据库服务。

用户可以在 SequoiaDB 巨杉数据库中创建多种类型的数据库实例,以满足上层不同应用程序各自的需求。

SequoiaDB 巨杉数据库支持 MySQL、PostgreSQL、SparkSQL 和 MariaDB 四种关系型数据库实例、类 MongoDB 的 JSON 文档类数据库实例、以及 S3 对象存储与 POSIX 文件系统的非结构化数据实例。

关键特性

SequoiaDB巨杉数据库可以为用户带来如下价值:

业务场景

框架

SequoiaDB 巨杉数据库作为分布式数据库,由 数据库存储引擎数据库实例 两大模块构成。

逻辑架构

数据库实例

SequoiaDB 巨杉数据库支持多种类型的数据库实例。至当前版本为止,SequoiaDB 巨杉数据库支持七种不同的实例类型。

实例类型 实例分类 描述
MySQL 结构化数据 适用于纯联机交易场景,与 MySQL 保持 100% 兼容
PostgreSQL 结构化数据 适用于联机交易场景与中小量数据的分析类场景,与 PostgreSQL 基本保持兼容
SparkSQL 结构化数据 适用于海量数据的统计分析类场景,与 SparkSQL 保持 100% 兼容
MariaDB 结构化数据 适用于联机交易场景,与 MariaDB 的语法和协议保持完全兼容
JSON API 半结构化数据 适用于基于 JSON 数据类型的联机业务场景,与 MongoDB 保持部分兼容
S3 对象存储 非结构化数据 适用于对象存储类的联机业务与归档类场景,与 S3 保持 100% 兼容
POSIX 文件系统 非结构化数据 适用于使用传统文件系统向分布式环境迁移的业务场景,与标准 Ext3/XFS 等基本保持兼容

数据库存储引擎

SequoiaDB 巨杉数据库存储引擎采用分布式架构。集群中的每个节点为一个独立进程,节点之间采用 TCP/IP 协议进行通讯。

同一个操作系统可以部署多个节点,节点之间采用不同的端口进行区分。

数据库存储引擎逻辑架构

节点角色

SequoiaDB 巨杉数据库存储引擎采用分布式架构。集群中的每个节点为一个独立进程,节点之间采用TCP/IP协议进行通讯。

SequoiaDB 巨杉数据库的节点分为三种不同的角色:协调节点、编目节点与数据节点。

协调节点

协调节点不存储任何用户数据。作为外部访问的接入与请求分发节点,协调节点将用户请求分发至相应的数据节点,最终合并数据节点的结果应答对外进行响应。

编目节点

编目节点主要存储系统的节点信息、用户信息、分区信息以及对象定义等元数据。在特定操作下,协调节点与数据节点均会向编目节点请求元数据信息,以感知数据的分布规律和校验请求的正确性。

数据节点

数据节点为用户数据的物理存储节点,海量数据通过分片切分的方式被分散至不同的数据节点。在关系型与 JSON 数据库实例中,每一条记录会被完整地存放在其中一个或多个数据节点中;而在对象存储实例中,每一个文件将会依据数据页大小被拆分成多个数据块,并被分散至不同的数据节点进行存放。

SQL节点
资源管理节点

资源管理节点(sdbcm)是一个守护进程,它是以服务的方式常驻系统后台。SequoiaDB 的所有集群管理操作都必须有 sdbcm 的参与,目前每一台物理机器上只能启动一个 sdbcm 进程,负责执行远程的集群管理命令和监控本地的 SequoiaDB 数据库。sdbcm 主要有两大功能:

整体架构

SequoiaDB 巨杉数据库集群分为数据库存储引擎与数据库实例。

在当前版本中,SequoiaDB 巨杉数据库支持多达七种不同数据服务实例,包括针对结构化数据的 MySQL、MariaDB、PostgreSQL与 SparkSQL 实例;针对半结构化数据的 MongoDB 实例;以及针对非结构化数据的 S3 对象存储与 Posix 文件系统实例。

SequoiaDB 巨杉数据库的数据库存储引擎则包括协调节点、编目节点与数据节点三种类型的服务。数据节点与编目节点各自以多副本的形式构成一个个复制组。

数据库存储引擎与数据库实例均支持水平弹性扩展,任何角色的节点均提供高可用冗余机制,不存在单点故障的可能。

SequoiaDB巨杉数据库整体架构

组成

核心概念

复制组

由于采用 PC 服务器内置物理盘,当前大部分分布式数据库无法在硬件设备出现故障时保证单一设备中数据的可靠性与持久性。因此 SequoiaDB 巨杉数据库采用数据多副本存放的机制,将编目节点与数据节点所存放的数据以节点为单位进行复制,多个拥有相同数据拷贝的节点被称为数据复制组。一般来说,复制组、数据分片和数据分区均代表同样的含义。

副本

每个复制组内的多个节点被称为数据副本,在 SequoiaDB 巨杉数据库中每个复制组最多支持 7 个数据副本。

由于复制组内的逻辑节点互为备份,配置了多个数据副本的 SequoiaDB 巨杉数据库原生提供高可用与容灾机制。用户可以通过添加复制组或分区的数量实现整个存储引擎集群的水平弹性扩展,也可以通过添加复制组内副本的数量实现更高的安全性以及提升读写分离的并发性。

一致性

复制组内部的多个数据副本之间可以同时使用强一致或最终一致的数据同步方式,用户可以基于节点或表(集合)级别进行相应的配置。整个集群内部数据的 ACID 与分布式事务完全由数据库存储引擎支持。

集合

集合空间

集合空间(Collection Space)是数据库中存放集合的物理对象,类似于关系型数据库中的表空间

数据域

数据域(Domain)是由若干个复制组(ReplicaGroup)组成的逻辑单元。每个域都可以根据定义好的策略自动管理所属数据,如数据切片和数据隔离等。其主要作用是数据隔离。

附录

SequoiaDB简介_文档中心_SequoiaDB巨杉数据库

标签:SequoiaDB,实例,数据库,了解,集合,数据,节点
来源: https://www.cnblogs.com/binliubiao/p/14798689.html