数据库迁移涉及将数据库中包含的数据(包括架构对象 [表、索引、视图]、存储过程、函数和触发器)从现有数据库移动到新数据库或更新后的数据库。
了解 Database Migration Service,并将您的数据库迁移到 Google Cloud。
数据迁移是数据库迁移过程的一个组成部分,用于将数据从一个环境移动到另一个环境。您可能需要在不迁移数据库的情况下移动数据,例如在进行与存储相关的更改时。
数据和数据库成功迁移的关键在于准确快速地转移信息,同时最大限度地减少转移和割接期间的停机时间和中断。
有时,您进行迁移并非出于自愿,而是迫不得已。旧系统终将无法满足现代业务的需求,维护旧系统可能会成为一种风险,而不是一种资产。
以下是您可能需要进行数据库迁移的一些主要原因:
当现有架构无法再满足您的运营需求时,迁移是确保业务安全高效运行的必要举措。
在迁移数据库时,您可能会听到同构和异构这两个术语。了解两者的区别有助于您规划技术团队需要完成的工作量。
迁移类型 | 具体含义 | 运作方式 |
同构 | 源数据库和目标数据库使用相同或非常相似的引擎。 | 这通常更简单,因为数据格式已经兼容。 |
异构 | 目标数据库使用的引擎与源数据库不同。 | 这需要转换架构和代码,以便新数据库能够理解它们。 |
迁移类型
具体含义
运作方式
同构
源数据库和目标数据库使用相同或非常相似的引擎。
这通常更简单,因为数据格式已经兼容。
异构
目标数据库使用的引擎与源数据库不同。
这需要转换架构和代码,以便新数据库能够理解它们。
数据迁移有四种常见策略。如需深入探究并了解推荐的策略,请参阅云迁移策略。
可以,而且这正成为一种加快流程的常见方式。AI(尤其是 LLM)可以帮助分析您现有的代码和架构,为目标数据库提出转换建议。这不仅有助于自动执行复杂的代码重写,还能在迁移过程中发现可能导致延迟的兼容性问题。
这可能需要几天到几个月的时间,因此制定计划非常重要。考虑因素包括数据库大小(小型项目可能需要几天时间,而复杂的多层迁移可能需要几个月时间)、迁移策略以及您是否使用的是数据库迁移服务。
架构是数据库的蓝图或地图。它定义了数据的整理方式,包括表、字段以及它们之间的相互关系。在迁移过程中,如果您要迁移到不同类型的数据库引擎,可能需要转换此蓝图。
最大的风险包括数据丢失、长时间停机和安全漏洞。如果迁移计划不周全,您的应用可能在新环境中无法正常运行。使用托管式迁移服务并全面测试系统有助于降低这些风险。
您通常可以通过使用复制来最大限度地减少停机时间,让旧数据库和新数据库同时运行。虽然在最终“割接”阶段通常需要短暂的停机时间,但高级迁移服务旨在尽可能缩短此时段。
数据库迁移不仅仅是移动数据,还可以保留功能,使您的工作负载顺畅地在新系统上运行。迁移方式取决于您编写的代码和使用的迁移工具。
手动迁移数据可能存在风险且耗时,但使用专用迁移服务可以帮助您确保项目按计划进行。
传输速度更快
专用工具使用经过优化的路径来快速移动数据。
减少停机时间
迁移服务有助于确保您的应用正常运行,让您的客户不会察觉到服务中断。
数据一致性
这些工具可确保您的数据在新系统中的外观和表现与在旧系统中完全一致。
安全
您的数据在传输过程中会进行加密,以防遭到窥探。
化繁为简
如果您要迁移到其他数据库引擎,这些服务通常可以帮助您自动转换代码。
费用更低
通过减少手动工作量和缩短项目周期,您可以节省人力和开销。
虽然您几乎可以在任何两个位置之间迁移数据库,但大多数迁移都是从本地迁移到云或从一个云迁移到另一个云。
公司迁移到云(或迁移到其他云服务提供商)的原因有很多:
详细了解迁移到云的好处。
出于上述原因,许多组织正在将其本地工作负载迁移到云。与云到云迁移相比,从本地迁移需要注意额外事项。
迁移本地工作负载的常见策略是更换主机,也就是将整个工作负载复制到云。这样做可获享与云迁移相关的安全性、可靠性和成本效益。
不过,需要注意的是,此策略也会将任何现有的低效问题从本地架构转移到云基础设施,这可能会导致您无法享受云原生架构带来的更大成本节省和效率提升。您可能还会错过云在灾难恢复、分析集成、AI/机器学习服务以及合作伙伴产品市场等领域的丰富功能。
请务必在迁移过程中保持数据的安全性,特别是在不同类型的环境之间。确保最佳安全性的方法之一是使用可信的数据库迁移服务。
数据和数据库迁移可能很复杂。确保企业的数据、组织和职能无缝迁移到新架构至关重要。如果操作不当,可能会导致数据丢失、工作负载无法正常运行或安全问题。
一些最佳实践:
如需深入了解此过程,请参阅数据迁移的概念和原则以及设置和执行数据迁移过程。
虽然详细内容会因具体业务场景而异,但以下基本步骤有助于您成功完成迁移:
迁移所经历的阶段数量取决于组织的现有设置和时间表。例如,只需一步即可完成从自行管理的本地部署到托管式云服务的迁移。或者,如果您有时间压力,则可以先迁移到自行管理的云端数据库,然后再改用全托管式解决方案。
理想情况下,数据库迁移不是您的公司经常执行的流程。为了充分利用迁移,请考虑以下几个关键问题:
考虑因素 | 建议 |
您应该先迁移哪些数据库和应用? | 从优先级较低或内部的工作负载开始。这样,您的团队就有机会在接触任务关键型系统之前优化流程。 |
是否应该更改数据模型? | 评估当前模型是否满足您的需求。如果您的数据结构在不断变化,切换到其他模型(例如迁移到 NoSQL 数据库)可以提供更强的灵活性。 |
您应该自行管理数据库,还是选择托管式服务? | 尽可能选择托管式服务。它可分担维护和修补工作,让您的团队专注于构建应用,而不是管理基础设施。 |
迁移对经营活动有何影响? | 使用复制功能来将中断降至最低,这可让旧数据库和新数据库同时运行,直到您准备好进行最终割接。 |
考虑因素
建议
您应该先迁移哪些数据库和应用?
从优先级较低或内部的工作负载开始。这样,您的团队就有机会在接触任务关键型系统之前优化流程。
是否应该更改数据模型?
评估当前模型是否满足您的需求。如果您的数据结构在不断变化,切换到其他模型(例如迁移到 NoSQL 数据库)可以提供更强的灵活性。
您应该自行管理数据库,还是选择托管式服务?
尽可能选择托管式服务。它可分担维护和修补工作,让您的团队专注于构建应用,而不是管理基础设施。
迁移对经营活动有何影响?
使用复制功能来将中断降至最低,这可让旧数据库和新数据库同时运行,直到您准备好进行最终割接。