探索三种关键数据迁移方法
摘要:本文介绍现代IT环境中数据库迁移的三种关键方法:大爆炸式迁移、分阶段/渐进式迁移和平行/混合迁移。文章详细阐述了每种迁移策略的优缺点,探讨了存储迁移、云数据迁移、数据库迁移等不同类型,并总结了迁移项目的三个阶段:规划与评估、执行、验证与优化。为企业制定迁移策略文档提供了实用指导。
- 原文链接*
现代IT环境中的数据库迁移需求
如果您的现代业务应用运行在过时的技术架构上,您将花费更多时间处理基础设施问题,而不是进行创新。基于传统单体关系数据库构建的企业需要考虑迁移到云原生分布式数据库平台,以保持竞争力。
迁移使组织能够采用现代技术(如分布式SQL),实现云原生敏捷性,并满足日益严格的全球和地区法规要求。它还使组织能够满足客户对全天候运行和即时扩展的期望,而单体数据库通常难以实现。将数据库从本地系统或专有平台迁移到灵活的分布式环境的能力对于创新至关重要。
Yugabyte与那些通常面临扩展性、可用性和全球性能问题的工程领导者合作。在最近的DSS Asia案例研究中,Mindgate Solutions讨论了他们如何将实时支付系统从传统关系DBMS迁移到分布式SQL数据库YugabyteDB,以克服其单体系统无法提供水平扩展或双活可用性的问题。
Yugabyte通过支持熟悉的PostgreSQL工具并提供免费的开源迁移工具(YugabyteDB Voyager)来简化迁移,使迁移可重复且安全。
最近的客户案例强调了为什么组织正在寻找现代且具有弹性的数据库,并表明使用正确的策略、工具和合作伙伴,迁移不必带来痛苦。
三种主要数据迁移类型是什么?
1. 大爆炸式(提升和转移)迁移
大爆炸式迁移一次性迁移所有数据:
- 停止应用程序
- 移动整个数据集
- 在新数据库上重启
"提升和转移"策略速度快,相对简单,可能比其他方法成本更低。一个主要缺点是,在切换期间现有系统不可用,如果出现问题,过程存在昂贵失败的风险。
大爆炸式迁移最适合小数据集或可以安排停机时间的情况。
2. 分阶段/渐进式迁移
在分阶段或渐进式迁移中,数据以小的增量步骤移动,同时旧系统和新系统并行运行。这种方法减少了停机时间,允许持续测试和调整。
由于每个子迁移都有自己的范围、目标和时间线,分阶段迁移不太容易发生灾难性故障。然而,它们需要更长的时间,并且需要额外的努力来保持两个系统同步。
这种方法非常适合无法承受长时间停机的大型数据集或关键任务系统。
3. 并行/混合迁移
并行或混合迁移结合了大爆炸式和分阶段技术。旧系统和新系统同时运行,数据同步机制使它们保持一致。一旦新环境完全验证通过,您就可以切换流量并停用旧系统。
混合迁移在大爆炸式方法的速度和分阶段迁移的降低风险之间取得平衡。当应用程序的某些部分可以容忍停机(并批量迁移)而其他部分需要连续运行时,它们很有用。
不同类型的数据迁移
迁移策略描述如何移动数据,但全面的迁移计划可能涉及以下一种或多种:
| 迁移类型 | 描述 | 典型用例 |
|---|---|---|
| 存储迁移 | 将数据从一个存储系统移动到另一个,通常从本地磁盘到固态驱动器或云存储 | 技术更新、替换过时硬件以及档案数字化 |
| 云数据迁移 | 将数据从本地系统传输到基于云的系统或云之间 | 迁移到公有云或多云,以及灾难恢复 |
| 数据库迁移 | 将数据从一个数据库或DBMS移动到另一个 | 从传统数据库升级到现代分布式SQL数据库(如YugabyteDB) |
| 应用程序迁移 | 将应用程序及其数据从一个环境传输到另一个 | 将单体应用重新平台化到微服务或Kubernetes |
| 数据中心迁移 | 将所有硬件、软件和数据从一个数据中心移动到另一个 | 合并、收购以及设施搬迁 |
| 业务流程迁移 | 将业务流程(如HR、计费)及其数据在系统之间移动 | 合并后的整合或流程现代化 |
这些迁移类型经常重叠;例如,将单体数据库迁移到分布式SQL服务可能涉及数据库迁移与应用程序迁移相结合,如果迁移到云,还包括云数据迁移。
请阅读最近的文章以了解更多关于数据库迁移及如何规划的信息。
三个数据迁移阶段是什么?
无论使用何种策略或迁移类型,每个项目都遵循类似的三个阶段生命周期:规划与评估、执行和验证。
阶段一:规划与评估
此阶段为成功的迁移奠定基础。首先评估和清理源数据,评估其大小、稳定性和质量。这包括映射源和目标模式、定义将要迁移的数据,以及建立数据质量控制。您还设计迁移架构、设定预算和时间表,并向利益相关者介绍计划。
进行彻底评估有助于您决定选择哪种迁移策略(大爆炸式、渐进式或混合式)。
在分布式SQL的背景下,评估包括评估应用程序是否受益于水平扩展、多区域部署和高可用性。YugabyteDB Voyager等工具提供评估功能,在迁移开始前分析模式和数据类型并突出显示潜在问题。这有助于您微调计划并选择离线迁移和实时迁移选项。
阶段二:迁移执行
在执行期间,您实施迁移计划。对于大爆炸式迁移,您导出所有模式和数据,在需要时进行转换,然后将它们加载到新数据库中。对于分阶段或混合迁移,您并行运行旧系统和新系统,逐步传输数据并保持它们同步。
监控进度并执行持续测试以尽早发现问题至关重要。YugabyteDB Voyager的统一CLI允许您导出模式、导入数据并恢复失败的作业,而进度条提供预期完成时间。
阶段三:验证与优化
迁移数据后,您必须验证所有内容是否正确传输。这涉及检查所有必需的数据是否存在、值是否准确以及参照完整性是否保持。
迁移后优化包括性能调优、索引和配置调整,以确保新系统满足服务级别协议。例如,分布式SQL数据库允许您调整复制因子或放置策略以满足延迟和合规要求。验证完成后,您可以停用旧系统并实现成本和效率节省。
制定数据迁移策略文档的关键考虑因素
要创建稳健的迁移策略文档,您需要知道您从哪里开始、您将走的路线以及如果出现问题该怎么办。
一个精心制定的策略文档应包括以下组成部分:
- 项目范围和目标:定义哪些数据集、模式和应用程序将被迁移以及原因。明确业务驱动因素,如可扩展性、法规合规性或成本降低。
- 利益相关者和角色:识别所有参与人员,从数据库工程师和架构师到业务所有者和SRE。分配明确的责任并建立沟通渠道。
- 时间表和里程碑:概述关键阶段、预估持续时间和依赖关系。提供回滚计划以防出现问题。分阶段迁移计划可能跨越数月甚至数年。
- 数据评估和清理:记录数据审计结果,包括数据质量问题、重复和异常。在迁移前规划数据清理。
- 备份和恢复计划:描述在发生故障时如何备份和恢复数据。
- 技术和资源需求:列出所需的工具、硬件和人员。评估是否需要额外人员或外部顾问。
- 安全和合规:指定加密、访问控制和合规措施。分布式数据库通常跨越多个区域;确保解决数据驻留和治理策略问题。
- 测试和验证:包括模式转换、数据传输和应用程序功能的测试计划。规划并行运行和用户接受测试。
使用数据迁移策略模板或清单可以加速规划。YugabyteDB Vault的结构化过程(评估、模式导出/导入、数据导出/导入、切换和归档)作为一个有效的模板。它允许您导出数据、监控进度、调优并行度并在失败时恢复作业。
由于YugabyteDB Voyager是开源的并支持多个源数据库,您不会被单一供应商锁定,这符合现代IT团队避免锁定的愿望。
结论
数据迁移不仅仅是一次技术练习;它是一项使您的业务能够发展的战略举措。
通过了解三种主要迁移方法(大爆炸式、分阶段/渐进式和混合式)、您可能进行的迁移类型以及迁移项目涉及的阶段,您可以做出正确的选择以确保业务成功。适当的规划、持续测试和彻底的验证步骤对于避免令人不愉快的意外至关重要。
在Yugabyte,我们已经看到从单体数据库迁移到云原生分布式SQL平台如何为我们的客户解锁新的可能性。
无论您是在核心银行应用程序现代化、扩展实时支付平台,还是准备您的电子商务网站以应对全球流量,周密的迁移策略结合YugabyteDB Voyager等工具将为您奠定成功的基础。
我们的专家可以帮助您驾驭现代化之旅。联系我们,探索分布式数据库如何支持您的下一代应用程序。