概述
SequoiaDB 巨杉数据库是一款金融级分布式关系型数据库。下图为 SequoiaDB 的逻辑架构图:
SequoiaDB 整体架构由几个主要部分组成:
- SQL 实例:提供兼容 MySQL、MariaDB、PostgreSQL 以及 SparkSQL 的数据库访问方式,可以实现实例化的弹性扩展。
- 协调节点 :协调节点不存储用户的任何数据,其作为外部访问的接入和分发节点,将用户请求分发至相应的数据节点,并合并数据节点的应答对外进行响应。协调节点之间不进行数据交互;支持水平伸缩。
- 编目节点:编目节点主要存储系统的节点信息、用户信息、分区信息以及集合和集合空间的定义等元数据信息。协调节点和数据节点都会向编目节点请求元数据信息以感知数据的分布规律和校验请求的正确性。编目节点归属于编目复制组,其具备复制组的所有能力。
- 数据节点:数据节点为用户数据的真实存储节点。数据节点归属于数据复制组(又称分区组),复制组内节点互为副本,一主多从,支持 1~7 个节点,具备高可靠和高可用能力。通过增加/删除复制组内的节点可以实现数据的垂直扩容/减容。复制组内节点之间采用最终一致性同步数据,不同的复制组保存的数据无重复。
同时,本章也将介绍 SequoiaDB 巨杉数据库的分区、复制、分布式事务、数据模型、线程模型、压缩、数据加密等巨杉数据库系统架构和内核原理等相关内容。