实施性能改进

使用 Microsoft Fabric 进行数据转换与分析

Luis Silva

Solution Architect - Data & AI

优化策略

  • 优化 Fabric 项目的设计
  • 垂直扩展(Scale up)
  • 水平扩展(Scale out)
使用 Microsoft Fabric 进行数据转换与分析

优化 SQL

  • 仅查询所需列和操作

示例 SQL:从 SELECT * 改为仅选择特定列

使用 Microsoft Fabric 进行数据转换与分析

优化 SQL

  • 仅查询所需列和操作
  • 使用尽可能小的数据类型

示例 CREATE TABLE:将数值列的数据类型从 BIGINT 改为 INT

使用 Microsoft Fabric 进行数据转换与分析

优化 SQL

  • 仅查询所需列和操作
  • 使用尽可能小的数据类型
  • 采用星型架构

星型架构示意图:一个事实表及其相关维度表

使用 Microsoft Fabric 进行数据转换与分析

优化 SQL

  • 仅查询所需列和操作
  • 使用尽可能小的数据类型
  • 采用星型架构
  • 用系统视图监控查询使用情况
SELECT *
FROM sys.dm_exec_requests;
使用 Microsoft Fabric 进行数据转换与分析

优化笔记本

  • 利用 Spark 历史服务器

Spark UI 网页的截图

使用 Microsoft Fabric 进行数据转换与分析

优化笔记本

  • 利用 Spark 历史服务器
  • 不用时停止活动的 Spark 会话
使用 Microsoft Fabric 进行数据转换与分析

优化笔记本

  • 利用 Spark 历史服务器
  • 不用时停止活动的 Spark 会话
  • 连接数据前,先在内存外减少数据量
使用 Microsoft Fabric 进行数据转换与分析

优化数据流

  • 尽量减少排序等高开销操作

示例数据流:如非必需,去除排序操作

使用 Microsoft Fabric 进行数据转换与分析

优化数据流

  • 尽量减少排序等高开销操作
  • 查询折叠
    • 将处理下推到数据源

示例数据流步骤:无查询折叠时在数据源外评估;有折叠时由数据源评估

使用 Microsoft Fabric 进行数据转换与分析

优化数据流

  • 尽量减少排序等高开销操作
  • 查询折叠
    • 将处理下推到数据源
  • 分阶段(Staging)开/关
    • 小数据或简单转换:关闭
    • 大数据或复杂转换:开启

数据流查询中的"启用分阶段"选项截图

使用 Microsoft Fabric 进行数据转换与分析

垂直扩展(Scale Up)

  • 提升 SKU 规格
  • 更高 SKU = 更强算力

列出各种 Fabric Azure SKU,从最小的 F2 到最大的 F2048 v

使用 Microsoft Fabric 进行数据转换与分析

垂直扩展(Scale Up)

示例:通过增加 v-core 数扩展 Fabric 容量

示例:从 F64(8 个 v-core)扩展到 F128(16 个 v-core)

使用 Microsoft Fabric 进行数据转换与分析

水平扩展(Scale Out)

  • 将部分项目移至其他 Fabric 容量
  • 隔离工作负载
    • 生产 vs 非生产
    • 业务分区,例如高管报表单独容量
使用 Microsoft Fabric 进行数据转换与分析

水平扩展(Scale Out)

示例:通过新增第二个容量并迁移工作负载来横向扩展 Fabric 容量

使用 Microsoft Fabric 进行数据转换与分析

Passons à la pratique !

使用 Microsoft Fabric 进行数据转换与分析

Preparing Video For Download...