迁徙规划:SQL Server到Fabric Data Warehouse

适用于:Microsoft Fabric 中的✅ 仓库

本文详细介绍了SQL Server向Microsoft Fabric Data Warehouse迁移数据仓库的策略、考虑因素和方法。

小窍门

使用Fabric 迁移助手 for Data Warehouse可获得从 SQL Server 迁移的自动化体验。 本文包含重要的策略和规划信息。

迁移简介

Microsoft Fabric 是一款面向企业的一站式 SaaS 分析解决方案,提供包括数据工厂、数据工程、数据仓储、数据科学、 Real-Time 智能和Power BI在内的全面服务套件。

本文介绍了模式(DDL)、数据库代码(DML)和数据迁移的选项,并帮助你为你的场景选择合适的选项。 它采用 TPC-DS 行业基准进行示例和性能测试。 结果可能会因数据类型、表宽度和源延迟等因素而有所不同。

准备迁移

在开始迁移项目前,请仔细规划,确保你的模式、代码和数据与Fabric Data Warehouse兼容。 考虑其 局限性。 量化不兼容项目的重构工作,以及迁移交付之前所需的任何其他资源。

规划的另一个关键目标是调整设计,以确保解决方案充分利用 Fabric 数据仓库设计的高性能查询性能。 由于为了实现缩放性而设计数据仓库时会引入独特的设计模式,因此传统的方法不一定最合适。 请查看 绩效指南。 虽然迁移后可以进行一些设计调整,但更早进行修改可以节省时间和精力。 从一种技术或环境迁移到另一种技术总是一项重大工程。

下图展示了迁移生命周期。 它列出了主要支柱,包括 评估与评估、 规划与设计、 迁移、 监控与治理,以及 优化与现代化,以及每个支柱中的相关任务,以规划和准备顺利迁移。

迁移生命周期示意图,包括评估与评估、规划与设计、迁移、监控与治理,以及优化与现代化。

用于迁移的 Runbook

可将以下活动视为从 SQL Server 迁移到 Fabric Data Warehouse 的规划运行手册。

  1. 评估和评价
    1. 确定目标和动机。 建立明确的期望结果。
    2. 发现、评估并定位现有架构。
    3. 确定关键利益干系人和发起人。
    4. 定义要迁移的范围。
      1. 从小而简单的开始,准备多次小迁徙。
      2. 监视和记录进程的所有阶段。
      3. 建立迁移所需的数据和流程清单。
      4. 定义数据模型的变化(如果有的话)。
      5. 搭建Fabric工作区。
    5. 评估团队的技能和偏好。
      1. 尽可能自动化。
      2. 利用内置工具和功能减少迁移工作量。
    6. 尽早在新平台上培训员工。
      1. 确定技能需求和培训资产,包括 Microsoft Learn。
  2. 规划和设计
    1. 定义所需的体系结构。
    2. 选择 迁移的方法和工具 以完成以下任务:
      1. 从源头提取数据。
      2. 转换架构(DDL),包括表和视图的元数据。
      3. 获取数据,包括历史数据。
        1. 如有必要,利用新平台的性能和可扩展性重新设计数据模型。
      4. 迁移数据库代码(DML)。
        1. 迁移或重构存储过程和业务流程。
    3. 从源中清点和提取安全功能和对象权限。
    4. 设计并规划替换或修改现有的ETL或ELT流程以适应增量负载。
      1. 在新环境中创建并行的ETL或ELT流程。
    5. 准备详细的迁移计划。
      1. 将当前状态映射到新的目标状态。
  3. 迁移
    1. 迁移架构、数据和代码。
      1. 从源头提取数据。
      2. 转换架构(DDL)。
      3. 引入数据。
      4. 迁移数据库代码(DML)。
    2. 如有必要,可暂时扩展 SQL Server 资源以提升迁移速度。
    3. 应用安全性和权限。
    4. 迁移现有的ETL或ELT进程以实现增量负载。
      1. 迁移或重构ETL或ELT的增量加载过程。
      2. 测试并比较并行增量负载过程。
    5. 根据需要调整详细的迁移计划。
  4. 监视和监管
    1. 并行运行,并与源环境进行对比。
      1. 测试应用程序、商业智能平台和查询工具。
      2. 测试和优化查询性能。
      3. 监视和管理成本、安全性和性能。
    2. 进行治理基准和评估。
  5. 优化和现代化
    1. 当业务状况稳定时,将应用程序和主要报告平台迁移到 Fabric。
      1. 随着工作负载从 SQL Server 转移到 Microsoft Fabric,扩展资源。
      2. 根据获得的经验构建一个可重复的模板,用于将来的迁移。 循环访问。
      3. 识别成本优化、安全性、可扩展性和运营卓越的机会。
      4. 发现利用最新 Fabric 功能实现数据资产现代化的机会。

是提升换挡还是现代化?

通常,无论计划迁移的目的和范围如何,都有两种类型的迁移:直接原样迁移,或是包含架构和代码更改的分阶段方法。

直接迁移

在直接迁移中,你只需对现有数据模型做少量修改,即可将其迁移到新的 Fabric 数据仓库。 这种方法可减少实现迁移优势所需的新工作,从而将风险和迁移时间降至最低。

提升与转移迁移非常适合以下情况:

  • 你的现有环境中包含少量要迁移的数据市场。
  • 具有现成的环境,其中的数据已具备精心设计的星型或雪花型架构。
  • 你正面临迁移到 Fabric 数据仓库的时间和成本压力。

总之,这种方法适用于针对当前 SQL Server 环境优化的工作负载,因此不需要对 Fabric 进行重大改动。

通过更改体系结构,分阶段实现现代化

如果遗留数据仓库经过长时间演进,可能需要重新设计以维持所需的性能水平。

你也可以重新设计架构,利用 Fabric 工作区中可用的新引擎和功能。

SQL Server与Fabric Data Warehouse的设计差异

请考虑SQL Server和Fabric Data Warehouse之间的以下区别。

表注意事项

在不同环境之间迁移表时,通常只有原始数据和元数据会进行物理迁移。 通常你不会迁移源系统中的其他数据库元素,比如索引,因为它们在新环境中可能没有必要或实现方式不同。

源环境中的性能优化,比如索引,会指示你在新环境中可以添加的性能优化,但 Fabric 会自动帮你处理这些。

T-SQL 注意事项

请注意数据处理语言(DML)在语法上的若干差异。 请参阅 Fabric 数据仓库中的 T-SQL 访问区域。 此外,在 选择数据库代码(DML)迁移方法时,可以考虑代码评估。

根据迁移时的差异性,您可能需要重写部分 T-SQL DML 代码。

数据类型映射差异

Fabric Data Warehouse 与其他Microsoft SQL 平台有若干数据类型差异。 有关详细信息,请参阅 Microsoft Fabric 中的数据类型。

下表展示了支持的数据类型从SQL 数据库引擎映射到Fabric Data Warehouse。

SQL Server Fabric Data Warehouse
money decimal(19,4)
smallmoney decimal(10,4)
smalldatetime datetime2
datetime datetime2
nchar char
nvarchar varchar
tinyint smallint
binary varbinary
datetimeoffset* datetime2

* datetime2不存储datetimeoffset所存储的时区偏移信息。 由于该datetimeoffset数据类型目前Fabric Data Warehouse不支持,请将时区偏移数据提取到单独的列中。

小窍门

已准备好迁移?

若要开始使用自动化迁移体验,请参阅适用于数据仓库的 Fabric 迁移助手。

关于更多手动迁移步骤和细节,请参见“SQL Server到Fabric Data Warehouse迁移方法”。