暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

分布式数据库迁移流程

李宇轩 2024-11-22
520

分布式数据库迁移包括停机迁移和在线迁移。停机迁移适合业务可以接受一定的停机时间、对数据一致性要求较高的场景。在线迁移适合业务连续性要求极高、可以容忍一定的性能影响的场景。分布式数据库迁移应符合如下流程:

1. 迁移准备。 确定迁移的源端和目标端分布式数据库,评估数据量、业务特点、网络条件等因素。检查源端和目标端分布式数据库的配置一致性,包括版本、字符集、网络配置等,避免兼容性问题。选择合适的迁移时间窗口,通常在业务低峰期或维护窗口进行。制定详细的迁移计划,包括迁移步骤、时间估计、风险评估、回退预案等。

2. 数据导出。使用分布式数据库厂商提供的备份工具,导出源端的全量数据。对导出的数据文件进行压缩和加密,减少数据传输量和保护数据安全。

3. 数据传输。根据网络条件和数据量,选择合适的数据传输方式,如网络流式传输、NAS、对象存储等。使用数据传输工具,将导出的数据文件从源端传输到目标端。监控数据传输进度和网络性能,确保传输的效率和稳定性。

4. 数据导入。在目标端分布式数据库上创建与源端相同的表结构、约束、索引等。使用分布式数据库厂商提供的导入工具,将传输的数据文件导入到目标端分布式数据库。监控数据导入进度和资源消耗,确保导入的效率和可靠性。

5.增量同步。在全量数据导入完成后,启动增量同步进程,实时同步源端分布式数据库的变更到目标端。使用分布式数据库变更捕捉工具,捕获源端增量变更。将捕获的增量变更应用到目标端,保持两端数据的最终一致性。

6.数据校验。在数据导入和增量同步完成后,对目标端分布

式数据库进行全面的数据校验。使用数据比对工具,逐表比对源端和目标端的数据行数、校验和等。如果发现数据不一致或丢失,及时进行人工核查和补偿,确保数据的完整性和准确性。

7. 应用切换。在数据校验通过后,准备将业务应用从源端分布式数据库切换到目标端分布式数据库。对源端分布式数据库停写,等待目标端分布式数据库与源端完全一致。修改 DNS/负载均衡/应用的分布式数据库连接配置,将流量切到目标端分布式数据库地址。对业务功能和性能进行监控和验证。如果切换过程中出现问题,及时按照回退预案进行回退操作,保证业务的连续性。

8.迁移完成(可选)。对源端分布式数据库进行一次全量备份下线源端分布式数据库,释放相关的资源。

GoldenDB Sloth 工具是一款便捷的数据迁移工具,支持完成 GoldenDB 数据库与 GoldenDB(包括不同的分片数量场景)、异构数据库(Oracle、MySQL 等)之间的全量数据、增量数据的迁移和同步,同时提供迁移过程中的数据比对功能。简化了数据迁移过程,降低了数据迁移运维成本,并增强了异构数据库替代的可靠性。

迁移工具内部主要包括:

    任务管控平台:任务的配置、管理、监控。

    采集组件:全量数据采集,增量解析相关日志得到增量数据信息。

    回放组件:对数据做类型过滤,相关 ETL 操作后插入到目的数据库中。

    比对组件:对全量、增量数据进行比对、修复功能。

功能组网:

    全量数据迁移:将源端数据库中需要迁移的表的全量数据迁移到目的数据库中,如果在全量迁移后需要做接续的增量迁移,在全量迁移的同时会采集源端数据的变化存储在 Kafka 中,等全量迁移完成后,开始增量的同步。

    增量数据同步:可以配置为全量完成后自动接续的数据同步,也可以配置从某一个位点独立开始的增量数据同步。

    数据比对功能:对迁移同步的数据进行比对,包含全量迁移的数据和增量同步的数据。由于源端在迁移过程中不停业务,存在动态变化的数据,因此在每批比对时都会比对上一批失败的数据,比对完成后,在界面上显示比对结果。通过界面数据可以判断是数据比对失败还是由于同步过程数据又发生变化而导致的比对失败。

最后修改时间:2024-11-26 17:10:44
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论