当您计划切换云数据库 ClickHouse 社区兼容版的版本时,可以使用云数据库ClickHouse控制台的数据迁移功能进行数据迁移。该功能支持数据的全量迁移和增量迁移,来确保您数据的完整性。
前提条件
源集群和目标集群均为社区兼容版集群。
源集群和目标集群已具备数据库账号和密码。
源集群和目标集群需在同一地域,且使用相同的VPC。
源集群和目标集群的冷热分层状态需一致。
源集群的所有本地表都需要具有唯一的分布式表。
目标集群的存储空间需大于等于源集群的存储空间的1.2倍。
已将源集群的IP地址和目标集群的IP地址添加到对方的白名单中。
说明您可以通过
SELECT * FROM system.clusters;
查看云数据库ClickHouse实例的IP地址。如何设置白名单,请参见设置白名单。
注意事项
源集群进行数据迁移时仅支持同版本迁移或低版本至高版本迁移。
迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。
云数据库ClickHouse集群间的数据迁移支持全量迁移和增量迁移。
目标集群在迁移过程中会停止合并(Merge),源集群不会停止合并(Merge)。
源集群可迁移内容包含:集群、库、表、数据字典、物化视图、用户权限和集群配置,不包含Kafka和RabbitMQ引擎表。
非MergeTree类型的表(例如外表、Log表等)仅支持迁移表结构。因此当源集群存在非MergeTree类型的表时,若您使用数据迁移功能,目标集群中非MergeTree类型的表只有表结构没有具体的业务数据。具体业务数据迁移可以使用
remote
函数进行迁移,详情请参见通过remote函数进行数据迁移。
数据迁移时的影响
源集群在迁移过程中可读可写,为保证迁移任务正常完成,建议在迁移任务完成95%左右时主动暂停数据写入。
在迁移过程中,不允许对目标集群正在迁移数据的表进行数据写入,直至迁移完成。
操作步骤
在集群列表页面,选择默认实例列表,单击目标集群ID。
单击左侧导航栏的实例迁移。
在实例迁移页面,单击创建迁移任务。
进入到任务配置环节,选择源实例ID,并分别填写源集群和目标集群的数据库账号和数据库密码。
单击测试连接以进行下一步,进行集群的连通性校验。
测试连接成功后,进入迁移内容确认环节。单击下一步:预检测并启动同步。
迁移任务配置完成后,后台进行迁移链路预检测并启动任务。
校验成功,单击完成。
校验失败,您需要按照提示信息进行操作,重新进行数据迁移。检测项目及要求如下。
检测项目
检测要求
实例状态检测
迁移发起时,源集群和目标集群不能有正在运行的管控任务(包含扩容,升降配等)。如果当前源实例和目的实例有管控任务正在运行,则不能发起迁移任务。
存储空间检测
迁移同步进行前,进行存储空间校验。保证目标集群的存储空间大于等于源集群的存储空间的1.2倍。
本地表和分布式表检测
如果存在本地表没有创建分布式表或者分布式表不唯一,则校验失败。请删除多余的分布式表。
迁移任务完成后,在实例迁移页面查看迁移任务。
说明当迁移任务的迁移状态为已完成时,说明源集群的数据已成功迁移至目标集群。
相关文档
如何从自建的ClickHouse将数据迁移到云数据库ClickHouse上,请参见将自建ClickHouse数据迁移到云ClickHouse中。
- 本页导读 (1)