一、介绍
1 Apache ShardingSphere 在分片算法上提供给用户极大的自由度,但却给弹性伸缩造成了极大的挑战。 找寻即能支持自定义的分片算法,又能高效地将数据节点进行扩缩容的方式,是弹性伸缩面临的第一个挑战;
2 同时,在伸缩过程中,不应该对正在运行的业务造成影响。 尽可能减少伸缩时数据不可用的时间窗口,甚至做到用户完全无感知,是弹性伸缩的另一个挑战;
3 最后,弹性伸缩不应该对现有的数据造成影响,如何保证数据的正确性,是弹性伸缩的第三个挑战。
4 ShardingSphere-Scaling 是一个提供给用户的通用数据接入迁移及弹性伸缩的解决方案。

ShardingSphere-Scaling 从 4.1.0 版本开始向用户提供。 当前处于 alpha 开发阶段。
二、核心概念
1弹性伸缩作业
2 存量数据
在弹性伸缩作业开始前,数据节点中已有的数据。
3 增量数据
三、规范
1 支持项
1 将外围数据迁移至 Apache ShardingSphere 所管理的数据库;
2 将 Apache ShardingSphere 的数据节点进行扩容或缩容。
2 不支持项
1 无主键表扩缩容;
2 复合主键表扩缩容;
3 不支持在当前存储节点之上做迁移,需要准备一个全新的数据库集群作为迁移目标库。
