文章目录
- 一. 什么是数据迁移
- 1. 数据迁移与数据整合
- 2. 数据迁移和数据复制
- 3. 数据迁移的主要类型
- 1. Storage migration
- 2. 数据库迁移
- 3. 应用迁移
- 4. 数据中心迁移
- 5. Business process migration(业务流程迁移)
- 6. 云迁移
- 二. 数据迁移方法
- 1.大爆炸式数据迁移
- 2. 滴水式数据迁移
- 三. 数据迁移过程
- 1. 规划阶段
- 2. 数据审计和数据剖析:采用数字化工具
- 3. 数据备份:在移动之前保护你的数据
- 4. 迁移设计:hire an ETL specialist
- 5. 执行:专注于业务目标和客户满意度。
- 6. 数据迁移测试:跨阶段检查数据质量
- 7. 迁移后审计:校验关键结果
- 四. 数据迁移黄金法则
一. 什么是数据迁移
一般来说,数据迁移是将现有的历史数据转移到新的存储、系统或文件格式的过程。这个过程并不像听起来那么简单。它涉及大量的准备工作和迁移后的活动,包括规划、创建备份、质量测试以及结果验证。迁移的结束时间是在关闭旧系统、数据库或环境时。
如下图,描述了需要进行数据迁移的情况
通常情况下,数据迁移是较大项目的一部分,例如:
- 传统软件的现代化或替换,
- 系统和存储容量的扩展,
- 引入一个与现有应用程序并行运行的附加系统,
- 转向集中式数据库,消除数据孤岛并实现互操作性,
- 将IT基础设施迁移到云端
1. 数据迁移与数据整合
与处理公司内部信息的迁移不同,数据整合是将来自公司内外多个来源的数据合并为单一视图的过程。
数据迁移是一个单向的过程,一旦所有信息被传输到目标位置,该过程就结束了。相比之下,集成可以是一个持续的过程,涉及流式传输实时数据和在系统之间共享信息。
2. 数据迁移和数据复制
在数据迁移中,一旦数据完全转移到新位置,最终您会放弃旧系统或数据库。而在数据复制中,您周期性地将数据传输到目标位置,而不会删除或丢弃其源数据。因此,它有一个起点,但没有明确定义的完成时间
。(也就是说数据迁移后并不代表结束)
数据复制可以是数据集成过程的一部分。此外,如果源存储被废弃,它可能会变成数据迁移。
本文,我们只讨论数据迁移 —— 一次性的、单向的过程,就像搬家一样,离开旧居。
3. 数据迁移的主要类型
有六种常用的数据迁移类型。例如,数据传输的特定情况可能既属于数据库迁移又属于云迁移,或者同时涉及应用程序和数据库迁移。
1. Storage migration
存储迁移发生在淘汰过时设备的情况下。这涉及将数据从一个物理媒介转移到另一个物理媒介,或者从物理环境转移到虚拟环境。如下举例:
- 将数据从纸质文件转移到数字文档
- 从硬盘驱动器(HDD)转移到速度更快、更耐用的固态硬盘(SSD)
- 从大型机计算机转移到云存储。
迁移场景
这种转变的主要原因是对技术升级的迫切需求,而不是缺乏存储空间。对于大型系统来说,迁移过程可能需要数年时间。比如说,全球第二大的全球分销系统(GDS)Sabre公司已经将其软件和数据从大型机计算机迁移到虚拟服务器上已经超过十年了。预计其迁移周期将在2023年完全完成。
2. 数据库迁移
数据库不仅仅是存储数据的地方。它提供了一种特定的方式来组织数据,并通常通过数据库管理系统(DBMS)进行控制。
因此,大多数情况下,数据库迁移意味着
- 升级到DBMS的最新版本(所谓的同构迁移)
- 从不同提供商切换到新的DBMS —— 例如,从MySQL切换到PostgreSQL或从Oracle切换到MSSQL(所谓的异构迁移)。
后一种情况比前一种情况更困难,特别是如果目标和源数据库支持不同的数据结构。当你不得不从传统数据库。迁移数据时,这个任务就变得更具挑战性了。
3. 应用迁移
当一家公司更换企业软件供应商时 —— 例如,一家酒店实施了新的物业管理系统,或者一家医院替换了其传统的电子健康记录系统 —— 这需要将数据从一个计算环境转移到另一个计算环境。这里的关键挑战在于,旧的和新的基础架构可能具有独特的数据模型,并且使用
4. 数据中心迁移
数据中心是组织用于存储其关键应用程序和数据的物理基础设施。更准确地说,它是一个有着服务器、网络、交换机和其他IT设备的黑暗房间。因此,数据中心迁移可以指不同的事情:从将现有计算机和电缆迁移到其他场所,到将所有数字资产,包括数据和业务应用程序,迁移到新的服务器和存储设备。
5. Business process migration(业务流程迁移)
这种类型的迁移是由并购、业务优化或重组驱动的,以应对竞争挑战或进入新市场。所有这些变化可能需要将包括客户、产品和业务操作数据在内的业务应用程序和数据库迁移到新环境中。
6. 云迁移
云迁移是一个流行的术语,它涵盖了所有上述情况,如果它们涉及将数据从本地环境迁移到云端或在不同的云环境之间迁移。根据Gartner的预测,到2024年,云端将吸引超过IT支出的45%,并主导着日益增长的IT决策数量。
根据数据量和源地和目标地点之间的差异,迁移可能需要30分钟到几个月甚至几年的时间。项目的复杂性和停机成本将定义如何确切地展开该过程。
二. 数据迁移方法
选择适当的迁移方法是确保项目能够顺利进行,没有严重延迟的第一步。
1.大爆炸式数据迁移
优点:成本较低,复杂度较低,所需时间较短,所有更改一次性完成
缺点:高风险的昂贵失败,需要停机时间
在大爆炸式场景中,您在相对较短的时间窗口内,通过一次操作将所有数据资产从源环境迁移到目标环境。
当数据移动并进行转换时,系统需要停机,来满足目标架构的数据迁移。迁移通常在法定假日或周末进行,假定此时客户不使用应用程序。
大爆炸式方法允许在最短可能的时间内完成迁移,并节省了同时在旧系统和新系统之间工作的麻烦。然而,在大数据时代,即使是中小型公司也会积累大量信息,而网络和API网关的吞吐量提供的能力是有限的
。所以必须从一开始就考虑到这种约束(网络与网关
)。
小结:大爆炸式方法适用于小型公司或处理少量数据的业务。对于必须全天候可用的关键任务应用程序,它不适用。
2. 滴水式数据迁移
优点:不太容易出现意外故障,无需停机时间
缺点:成本更高,需要更多时间,需要额外的工作和资源来保持两个系统运行
它将整个过程分解为子迁移,每个子迁移都有自己的目标、时间表、范围和质量检查。
滴水式迁移涉及在旧系统和新系统之间并行运行,并逐步转移数据。因此,无停机时间,客户因为全天候应用程序可用而感到满意。但是,迭代策略需要更多的时间,并给项目增加了复杂性。迁移团队必须跟踪已传输的数据,并确保用户可以在两个系统之间切换以访问所需的信息。
执行滴水式迁移的另一种方法是将旧应用程序完全保持运行,直到迁移结束
。因此,您的客户将像往常一样使用旧系统,并且只有在所有数据成功加载到目标环境后才切换到新应用程序。然而,这种情况并不会让您的工程师的工作变得更轻松。他们必须确保数据在创建或更改后在两个平台之间实时同步。换句话说,源系统中的任何更改都必须触发目标系统的更新。
小结
滴水式迁移是中大型企业的正确选择,这些企业无法承受长时间的停机时间,但具有足够的专业知识来应对技术挑战。
三. 数据迁移过程
不管使用什么方法,数据迁移过程存在如下几个阶段:
- 规划(Planning)
- 数据审计和剖析(Data Auditing and Profiling)
- 数据备份(Data Backup)
- 迁移设计(Migration Design)
- 执行(Execution)
- 测试(Testing)
- 迁移后审计(Post-Migration Audit)
下面,我们将概述在每个阶段您应该采取的措施,以便将数据转移到新位置,而不会出现损失、严重延迟或/和破坏性预算超支。
1. 规划阶段
创建数据迁移计划并持续进行数据迁移是一个复杂的过程,它始于对现有数据资产的评估,并精心设计迁移计划。
规划阶段可分为四个步骤。
- 精炼范围。这一步的关键目标是筛选出任何多余的数据,并定义运行系统所需的最小信息量。因此,需要与用户进行咨询,对源系统和目标系统进行高层次分析。
- 评估源系统和目标系统。对当前系统操作需求的评估,以及如何将其适应新环境的方式。
- 设定数据标准。能够在迁移过程的每个阶段发现问题区域,并在迁移后阶段避免出现意外问题(
失败后如何重试或回滚
)。- 估算预算和设定实际时间表。在范围被精炼和系统被评估之后,选择大爆炸式或滴水式方法、估算项目所需资源、设定时间表和截止日期会更容易。根据Oracle的估算,企业规模的数据迁移项目平均持续半年到两年。
2. 数据审计和数据剖析:采用数字化工具
该阶段用于检查和清理待迁移数据的全部范围。其目的是在迁移之前检测可能的冲突,识别数据质量问题,并消除重复和异常。
审计和剖析是繁琐、耗时且劳动密集的活动,因此在大型项目中应采用自动化工具。一些常见的解决方案包括 Open Studio for Data Quality、Data Ladder、SAS Data Quality、Informatica Data Quality 和 IBM InfoSphere QualityStage。
3. 数据备份:在移动之前保护你的数据
从技术上讲,这个阶段并不是强制性的。然而,数据迁移的最佳实践要求在执行实际迁移之前对您计划移动的内容创建完整备份。这样,在发生意外的迁移失败和数据丢失时,您将获得额外的保护层。
4. 迁移设计:hire an ETL specialist
迁移设计阶段规定了迁移和测试规则,澄清了验收标准,并分配了迁移团队成员的角色和责任。
尽管有多种技术可用于数据迁移,但抽取、转换和加载(ETL)是首选的技术。如果您的项目涉及大数据量和复杂数据流,那么雇佣一个ETL开发人员或者一个专门负责ETL流程的软件工程师是合适的。在这个阶段,ETL开发人员或数据工程师会创建用于数据转换的脚本,或者选择并定制第三方ETL工具。ETL的一个重要组成部分是数据映射。在理想情况下,这不仅需要ETL开发人员,还需要了解源系统和目标系统的系统分析员,以及了解待移动数据价值的业务分析员。
这个阶段的持续时间主要取决于编写ETL程序脚本或获取适当的自动化工具所需的时间。
5. 执行:专注于业务目标和客户满意度。
在“一锅端”(big bang)方案中,迁移过程不会超过几天。另一方面,如果数据以逐步迁移的方式转移,执行时间会更长,但正如之前提到的,可以实现零停机时间和关键性失败风险的最低可能性。
如果您选择了分阶段的方法,请确保迁移活动不会妨碍正常的系统运作。此外,您的迁移团队必须与业务部门沟通,以确定何时推出每个子迁移,并针对哪个用户组进行推出。
6. 数据迁移测试:跨阶段检查数据质量
事实上,测试并不是一个独立的阶段,而是在设计、执行和迁移后阶段都进行。如果您采取了逐步迁移的方法,应该及时测试每一部分迁移的数据,以便及时修复问题。
频繁的测试确保数据元素安全地传输,并在进入目标基础架构时具有高质量和与需求一致性。可参考ETL process。
7. 迁移后审计:校验关键结果
在将迁移后的数据投入生产之前,应该与关键业务用户验证结果。这个阶段确保信息已被正确传输和记录。在进行迁移后审计之后,旧系统就可以退休了。
四. 数据迁移黄金法则
虽然每个数据迁移项目都是独特的,各自都面临着不同的挑战,但一些常见的黄金规则可能有助于公司安全地转移其宝贵的数据资产,避免关键的延误。
- 将数据迁移视为揭示和修复数据质量问题的机会。在迁移数据时,设定高标准以改善数据和元数据。
- 聘请数据迁移专家并指派专门的迁移团队来执行项目。
- 确定需要迁移的最小数据量。
- 在编写映射脚本之前,对所有源数据进行概要分析。
- 给设计阶段分配充足的时间,因为它对项目成功有很大的影响。
- 不要急于关闭旧平台。有时,第一次尝试的数据迁移会失败,需要回滚并重新尝试。
- 数据迁移通常被视为一种必要的恶,而不是增值过程。。将迁移视为一项重要的创新项目,值得特别关注,这已经是成功的一半了。
参考:
https://www.altexsoft.com/blog/data-migration/