
巨杉 Tech | SequoiaDB 在线扩容与数据迁移实践
1 前言
1.1 编写背景
随着业务系统非结构化数据年增长量较大并且数据越来越多。在业务系统投产后,由于业务
量的增加使得集群可使用存储容量逐渐变小,因此在业务系统接入集群前需考虑存储容量耗
尽后整个集群的水平扩展。SequoiaDB(巨杉数据库,简称 Sdb,下同)是一款金融级别的分
布式数据库,可以通过集群的扩容实现集群性能的近线性增长。通过扩容后主要解决两个问
题:数据存储的容量问题和整个集群的性能问题。因为数据量的不断增长及上线后的推广使
用,所以需要进行扩容来提升集群性能及增加数据存储空间。
通过阅读本文档,读者可以了解到 Sdb 集群如何实现扩容,以及扩容后如何做数据迁移。
文档中出现的一些专业术语,例如水平分区,垂直分区,数据域,复制组等,可参考巨杉的
官网,网址为:http://www.sequoiadb.com/cn/
2 在线扩容
2.1 生产系统数据模型分类
客户的业务系统中会存在许多数据模型,按数据量与时间维度的关系,可分
为两大类:资料类和流水类。对于上述两类不同的业务模型,其扩容和数据迁移时采用的策
略有所不同。
2.1.1 资料类模型(数据量随时间推移变化不大)
资料类模型的特点是表中数据总量不会有太大的变化,随着时间的推移,新
增的数据量占比很小。主要包含以下几类:
1.资料类:存放客户和用户资料的表,由于客户总数不会有太大的变化,因此这类表中
的数据随着时间的推移,其数据量也不会有太大的变化。
2.账户类:由于账户总数相对稳定,因此这类表中的数据量也不会有太大的变化。
3.余额类:记录每个用户的余额,和账户类的情况类似。
4.维度表:描述模型中的维度信息,数据量很小。
5.其它满足条件的资料类表。
2.1.2 流水类模型(数据量随时间推移呈线性增长)
这类模型的特点是随着时间的推移,数据量变化很大,而且通常都会和时间范围成正比,主
要包含以下几类:
1.用户操作流水
比如营业厅每天的开户,销户,转账等操作流水。随着时间的推移,该类流水表中的记录会
越来越多,而且和时间范围成正比,例如 2018 年的操作流水有 2 亿条,那么 2019 年的操作
流水差不多也有这么多。
2.用户月度账单
评论