使用 SQL 数据库作为运营数据存储

适用于:✅Microsoft Fabric 中的 SQL 数据库

本文概述了如何在 Fabric 中使用 SQL 数据库实现 作数据存储(ODS )。 它提供体系结构指南、设计模式、工作负载特征和构造特定注意事项,用于构建安全、高性能和受治理的 ODS。

Fabric 中 SQL 数据库作为作数据存储(ODS)的用例示意图。

什么是 ODS?

操作型数据存储(ODS)是一种面向主题的、集成的准实时存储,它将来自多个操作系统的数据合并成一个轻量整理的规范化存储,通常使用规范化架构。 它支持操作报告、轻量级分析、API 服务以及到分析层(如 Fabric WarehouseFabric Lakehouse)的下游传播。

ODS 不是 源联机事务处理(OLTP)系统或维度数据仓库。

相反,它充当过去 N 分钟、小时或几天的“热、协调真理”,位于源系统和分析平台之间。

ODS 的关键特征

Microsoft Fabric 中的作数据存储(ODS)旨在提供近乎实时的作数据视图,并提供强大的治理和性能保证。

  • 它从多个源系统引入数据,延迟较低。
  • 架构通常以第三种正常形式(3NF)规范化,以支持灵活性和可追溯性。
  • 数据质量通过重复数据删除、身份解析以及对迟到或被软删除记录的处理来实施,从而为运营报告和下游分析创造了可靠的基础。
  • 服务模式包括基于 SQL 的查询、作仪表板、警报和 API,而 Fabric 治理功能可确保数据生命周期的合规性和安全性。

Fabric 中的 SQL 数据库充当作数据和分析平台之间的安全高效的管道。

Components

将 Fabric 中的 SQL 数据库用作作数据存储涉及以下组件:

  • 约束和键:强制实施业务逻辑和引用完整性(自然键、代理键、外键)。
  • 标识解析:跨源删除重复数据;应用幸存者规则。
  • 服务:公开 GraphQL 终结点和/或生成 Power BI 仪表板。

引入和工作负荷最佳做法

在 Fabric 中的 SQL 数据库上构建 ODS 需要引入策略来平衡新鲜度、可靠性和性能。

  • 批量和增量加载通常通过支持更改数据捕获的连接器在 Fabric 数据管道中进行协调,并使用水印和重试机制来确保一致性。
    • 优化管道并发,以允许 SQL 数据库在高峰负载期间缩放,同时满足服务级别目标以实现数据新鲜度。
    • 水印是增量复制过程中的重要概念。 它可帮助你轻松确定上次停止增量加载的位置。
  • 在 Dataflow Gen2 或 Spark 笔记本中进行上游的繁重转换。 保留 SQL 层用于执行最终 MERGE 操作,以加强约束并维持类似于 OLTP 的性能。
  • 使用将更改检测、水印、T-SQL MERGE 和控制表结合在一起的幂等设计模式,来确保安全重启和运营弹性。

引擎和环境

Fabric 中的 SQL 数据库基于与 Azure SQL 数据库相同的 SQL 数据库引擎,提供熟悉的 T-SQL 体验,与标准客户端工具完全兼容。

通过在 Microsoft Fabric 中使用 SQL 数据库,可以使用 Microsoft Fabric 中的其他功能创建从引入到分析的端到端工作流:

  • 数据管道
  • 数据流 Gen2
  • Notebooks
  • 实时智能
  • Power BI
  • 通过使用基于 Git 的 CI/CD 流程简化整个 DevOps 过程