作为一款分布式关系型数据库,支持无限弹性水平扩展是 SequoiaDB 巨杉数据库的基本特性,其底层的分布式存储引擎与上层的数据库实例均支持无限弹性水平扩展能力。
SequoiaDB 巨杉数据库的数据库实例均无状态并使用 TCP/IP 协议对外提供服务。为了提升整体处理能力,用户可以通过增加服务器数量或创建额外的数据库实例实现对应用的水平弹性扩张。
分布式存储引擎内部包含三种类型的节点:协调节点、编目节点与数据节点。
其中协调节点主要作为数据请求的路由进程,对来自上层数据库实例的请求进行分发,并对数据节点返回的结果进行汇总。因此,每个协调节点均无状态,可以通过增加协调节点的数量提升数据路由层的处理能力。
编目节点默认使用三副本,由于只有当协调节点第一次访问某个表或集合时才需要读取编目节点、建表与更改集群拓扑结构时才需要写入编目节点,因此在正常生产环境中编目节点的访问量极低,基本不可能成为瓶颈。
数据节点则采用水平分片的方式对数据进行横向切分,用户可以通过增加分区组或数据分片的方式,对数据引擎层的存储进行弹性水平扩展。