镜像 Azure Cosmos DB (预览版)

Microsoft Fabric 中的镜像 提供了无缝的 no-ETL 体验,用于将您现有的 Azure Cosmos DB 数据与 Microsoft Fabric 中的其他数据无缝集成。 Azure Cosmos DB 数据持续复制到 Fabric OneLake,几乎实时,不会影响事务工作负载的性能,也不会消耗请求单位(RU)。

OneLake 中的数据以开源增量格式存储,并自动提供给 Fabric 上的所有分析引擎。

可以使用内置的 Power BI 功能在 DirectLake 模式下访问 OneLake 中的数据。 借助 Copilot Fabric 的增强功能,您可以利用生成式 AI 的强大功能来获取业务数据的关键见解。 除了 Power BI,还可以使用 T-SQL 运行复杂的聚合查询或使用 Spark 进行数据浏览。 可以无缝访问笔记本中的数据,并使用数据科学生成机器学习模型。

重要

Azure Cosmos DB 的镜像目前为 预览版。 预览期间不支持生产工作负荷。 目前,仅支持用于 NoSQL 帐户的 Azure Cosmos DB。

为什么在 Fabric 中使用镜像?

在 Fabric 中使用镜像时,无需将来自多个供应商的不同服务拼凑在一起。 相反,你可以享受高度集成的端到端和易于使用的产品,旨在简化分析需求,并为开放而构建。

如果您希望在 Azure Cosmos DB 中获取有关运营数据的 BI 报告或分析,镜像将提供:

  • 无 ETL,对 Azure Cosmos DB 数据进行经济高效的近实时访问,不会影响请求单位消耗
  • 轻松将各种来源中的数据导入至 Fabric OneLake
  • 使用 V 排序对 Delta 表进行闪电般快速读取的优化
  • 一键集成 Power BI 和 Direct Lake Copilot
  • 通过跨各种源联接数据来丰富业务见解
  • 用于访问查询和视图的更丰富的应用集成

OneLake 数据存储在开源 Delta Lake 格式中,使你可以将其与Microsoft内外的各种解决方案一起使用。 此数据格式有助于更轻松地为分析需求构建单个数据资产。

内置了哪些分析体验?

镜像数据库是 结构数据仓库 中的项,不同于 仓库SQL 分析终结点

Azure Cosmos DB 的构造镜像示意图。

每个镜像 Azure Cosmos DB 项都会创建可在 Fabric 工作区中与之交互的以下项:

  • 镜像数据库项。 镜像管理将数据复制到 OneLake 并转换为 Parquet(采用分析就绪格式)。 这可实现数据工程、数据科学等下游方案。
  • 自动生成的 SQL 分析终结点

镜像数据库

镜像数据库显示复制状态以及用于在 Fabric OneLake 中停止或启动复制的控件。 还可以使用 Azure Cosmos DB 数据资源管理器在只读模式下查看源数据库。 使用数据资源管理器,可以在源 Azure Cosmos DB 数据库中查看容器并对其进行查询。 这些操作会消耗 Azure Cosmos DB 帐户中的请求单位(RU)。 源数据库的任何更改都会立即反映在 Fabric 的源数据库视图中。 不允许从 Fabric 写入源数据库,因为只能查看数据。

SQL 分析端点

每个镜像数据库都有自动生成的 SQL 分析终结点,在镜像过程创建的 OneLake Delta 表的基础上提供丰富的分析体验。 可以访问熟悉的 T-SQL 命令,这些命令可以定义和查询数据对象,但不能操作来自 SQL 分析终结点的数据,因为它是一个只读副本。

可以在 SQL 分析终结点中执行以下作:

  • 使用 T-SQL 浏览 Delta Lake 表。 每个表都映射到 Azure Cosmos DB 数据库中的容器。
  • 创建无代码查询和视图,并在不编写代码行的情况下直观浏览它们。
  • 在同一工作区中联接和查询其他镜像数据库、数据仓库和数据湖仓库中的数据。
  • 可以根据 SQL 查询或视图轻松可视化和生成 BI 报表。

除了 SQL 查询编辑器,还有一个广泛的工具生态系统。 这些工具包括 带有 Visual Studio Code 的 mssql 扩展SQL Server Management Studio (SSMS)甚至 GitHub Copilot。 可以从所选的工具中增压分析和见解生成。

语义模型

可以在数据库上创建 Power BI 语义模型,以允许创建、共享和重复使用业务指标。 有关详细信息,请参阅 创建 Power BI 语义模型

准实时复制的工作原理是什么?

在 Azure Cosmos DB 数据库上启用镜像时,对联机事务处理(OLTP)数据的插入、更新和删除操作会持续复制到 Fabric OneLake,用于分析。

连续备份功能是镜像的先决条件。 可以在 Azure Cosmos DB 帐户上启用 7 天或 30 天的连续备份。 如果专门为镜像启用连续备份,建议使用 7 天连续备份,因为它是免费的。

注释

镜像不使用 Azure Cosmos DB 的分析存储或更改源作为捕获更改数据的来源。 你可以继续独立使用这些功能,并且可以结合镜像使用。

将 Azure Cosmos DB 数据复制到 Fabric OneLake 可能需要几分钟时间。 在某些情况下,复制可能需要更长的时间,具体取决于数据的初始快照或更新/删除的频率。 复制不会影响为事务工作负荷分配的请求单位(RU)。

镜像技术的预期结果是什么

在镜像之前,您应考虑一些注意事项和支持的场景。

设置时的注意事项

若要镜像数据库,应在 Azure 中预配该数据库。 必须在帐户上启用连续备份作为先决条件。

  • 一次只能单独镜像每个数据库。 可以选择要镜像的数据库。
  • 可以在同一工作区中多次镜像同一数据库。 作为最佳实践,单个数据库副本可以在湖仓、仓库或其他镜像数据库之间重复使用。 不应将多个镜像设置为同一数据库。
  • 还可以在不同的 Fabric 工作区或租户中镜像相同的数据库。
  • 可以选择数据库中要镜像的容器。
  • Azure Cosmos DB 容器(例如添加新容器和删除现有容器)的更改会无缝复制到 Fabric。 例如,您可以从镜像没有任何容器的空数据库开始,镜像会在将来自动捕获新增的容器。

支持嵌套数据

嵌套数据在 SQL 分析终结点表中显示为 JSON 字符串。 可以使用 OPENJSONCROSS APPLYOUTER APPLY T-SQL 查询或视图中选择性地扩展此数据。 如果使用 Power Query,还可以应用 ToJson 函数来扩展此数据。

通过自动模式推理,可以展开OPENJSON嵌套数据,而无需显式定义嵌套模式。 这对于具有动态或不可预知嵌套架构的工作负荷特别有用。 有关详细信息,请参阅 如何查询嵌套数据

注释

Fabric 对字符串列的大小限制为 8 KB。 有关详细信息和我们当前的解决方法,请参阅 数据仓库限制

处理架构更改

镜像会自动跨 Azure Cosmos DB 项复制属性,并更改架构。 项中发现的任何新属性都显示为新列,并且缺少的属性(如果有)在 Fabric 中显示为 null。

如果重命名项中的属性,Fabric 表将保留旧列和新列。 旧列将显示 null,新列将显示重命名作后复制的任何项的最新值。

如果更改 Azure Cosmos DB 项中某个属性的数据类型,则支持对于兼容且可转换的数据类型的更改。 如果数据类型与 Delta 中的转换不兼容,则它们表示为 null 值。

SQL 分析终结点表将 Delta 数据类型转换为 T-SQL 数据类型。

重复的列名称

Azure Cosmos DB 基于 JSON 标准支持不区分大小写的列名称。 镜像通过在列名后添加 _n(其中 n 为数值)来支持这些重复的列名。

例如,如果 Azure Cosmos DB 项具有 addressNameAddressName 作为唯一属性,则 Fabric 表具有相应的 addressNameAddressName_1 列。 有关详细信息,请参阅 复制限制

支持 AI 工作负载

Azure Cosmos DB 镜像支持使用矢量搜索和索引的帐户,允许 AI 和机器学习工作负载充分利用 Microsoft Fabric 的强大分析,同时继续利用 Azure Cosmos DB 的高性能矢量功能。

有关更多详细信息,请参阅 有关 Cosmos DB 和Fabric 数据科学和 AI 体验的矢量搜索和索引的文档。

安全性

可以使用Microsoft Entra ID 和基于角色的访问控制或帐户级别密钥连接到源帐户。

如果使用密钥并轮换或重新生成密钥,则需要更新连接以确保复制正常工作。 有关详细信息,请参阅 连接。 设置连接后,帐户密钥不会直接对其他 Fabric 用户可见。 可以限制谁有权访问在 Fabric 中创建的连接。 不允许从镜像数据库中的数据资源管理器或分析终结点写入 Azure Cosmos DB 数据库。 镜像目前不支持使用只读帐户密钥进行身份验证。

对于Microsoft Entra ID 身份验证,需要以下 RBAC 权限: Microsoft.DocumentDB/databaseAccounts/readMetadata & Microsoft.DocumentDB/databaseAccounts/readAnalytics 有关详细信息,请参阅 数据平面基于角色的访问控制文档

小窍门

将数据复制到 Fabric OneLake 后,还应安全地访问此数据。

数据保护功能

可以在Microsoft Fabric 的镜像数据库中配置精细安全性。 有关详细信息,请参阅 Microsoft Fabric 中的精细权限

可以将表上的列筛选器和基于谓词的行筛选器保护到 Microsoft Fabric 中的角色和用户:

还可以使用动态数据掩码从非管理员用户屏蔽敏感数据:

网络安全

目前,镜像不支持 OneLake 上的专用终结点或客户托管密钥(CMK)。 Azure Cosmos DB 帐户不支持镜像,其网络安全配置比 所有网络更宽松,使用服务终结点、使用专用终结点、使用 IP 地址或使用任何其他设置来限制对帐户的公共网络访问。 Azure Cosmos DB 帐户应向所有网络开放,以便使用镜像。

灾难恢复和复制延迟

在 Fabric 中,可以将内容部署到 Fabric 租户主区域以外的区域中的数据中心。 有关详细信息,请参阅 多地理位置支持

对于具有主要写入区域和多个读取区域的 Azure Cosmos DB 帐户,镜像选择离配置 Fabric 容量的区域最近的 Azure Cosmos DB 读取区域。 此选择有助于为镜像提供低延迟复制。

将 Azure Cosmos DB 帐户切换到恢复区域时,镜像会自动再次选择最近的 Azure Cosmos DB 区域。

注释

镜像不支持具有多个写入区域的帐户。

需要将复制到 OneLake 的 Cosmos DB 数据配置为能够应对区域范围内的中断。 有关详细信息,请参阅 OneLake 中的灾难恢复

使用镜像浏览数据

可以直接在 OneLake 中查看和访问镜像数据。 还可以无缝访问镜像数据,而无需进一步的数据移动。

详细了解如何使用 ADLS Gen2 API 或 SDKOneLake 文件资源管理器Azure 存储资源管理器访问 OneLake。

可以从 SQL Server Management Studio(SSMS)等工具连接到 SQL 分析终结点,也可以使用Microsoft开放数据库连接(ODBC)和 Java 数据库连接(JDBC)等驱动程序。 有关详细信息,请参阅 SQL 分析终结点连接

还可以使用服务访问镜像数据,例如:

  • Azure Databricks、Azure HDInsight 或 Azure Synapse Analytics 等 Azure 服务
  • 使用快捷方式在数据工程和数据科学场景中构建 Fabric 数据湖平台
  • Fabric 工作区中的其他镜像数据库或仓库

还可以构建徽章架构解决方案,对进入镜像数据库作为青铜层的数据进行清理和转换。 有关详细信息,请参阅 Fabric 中的奖牌体系结构支持

Pricing

用于将 Cosmos DB 数据复制到 Fabric OneLake 的构造计算是免费的。 OneLake 中的存储是免费的,具体取决于容量大小。 有关详细信息,请参阅 OneLake 镜像功能定价。 通过 SQL、Power BI 或 Spark 查询数据的计算使用情况仍基于构造容量收费。

如果在 Fabric 镜像中使用数据资源管理器,则根据请求单位(RU)使用情况累积典型成本,以浏览容器并查询源 Azure Cosmos DB 数据库中的项。 Azure Cosmos DB 连续备份功能是镜像的先决条件:持续备份的标准费用适用。 持续备份计费中,镜像不会产生额外费用。 有关详细信息,请参阅 Azure Cosmos DB 定价

后续步骤