镜像 Azure Cosmos DB(预览)
Microsoft Fabric 中的镜像提供了无缝的无 ETL 体验,可将现有 Azure Cosmos DB 数据与 Microsoft Fabric 中的其余数据集成。 你可以近乎实时地将 Azure Cosmos DB 数据直接连续复制到 Fabric OneLake,而不会对事务工作负载的性能产生任何影响。
OneLake 中的数据以开源 delta 格式存储,并自动提供给 Fabric 上的所有分析引擎。
你可以使用 T-SQL 运行复杂的聚合查询,使用 Spark 进行数据探索。 还可以无缝访问笔记本中的数据,使用数据科学构建机器学习模型,并使用 Copilot 集成支持的 Direct Lake 构建商业智能报告。
重要
Azure Cosmos DB 镜像目前处于预览阶段。 预览期间不支持生产工作负载。 目前,仅支持 Azure Cosmos DB for NoSQL 帐户。
为什么在 Fabric 中使用镜像?
使用 Fabric 镜像功能时,无需将来自多个供应商的不同服务拼凑在一起。 相反,你可以享受高度集成、端到端且易于使用的产品,该产品旨在简化你的分析需求,并为开放性而构建。
如果要查找有关 Azure Cosmos DB 中操作数据的分析,镜像可提供:
- 对 Azure Cosmos DB 数据的无 ETL、经济高效的近乎实时分析,而不会影响请求单位消耗
- 轻松将不同来源的数据引入 Fabric OneLake
- 利用 v-order 优化 delta 表,实现闪电般快速读取
- 通过 Direct Lake 和 Copilot 与 Power BI 一键集成
- 联接各种来源的数据以丰富业务见解
- 更丰富的应用集成,以便访问查询和视图
OneLake 数据以开源 Delta Lake 格式存储,可用于 Microsoft 内部和外部的各种解决方案。 此数据格式有助于轻松构建单个数据资产以满足分析需求。
内置了哪些分析体验?
镜像数据库是“Fabric Synapse 数据仓库”中的一个项目,有别于“仓库”和“SQL 分析终结点”项。
每个镜像 Azure Cosmos DB 数据库都有三个项,可在 Fabric 工作区中与之交互:
镜像数据库
镜像数据库显示复制状态以及在 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 数据库中的容器。
- 创建无代码查询和视图,无需编写代码行即可直观地浏览。
- 联接并查询同一工作区中其他镜像数据库、仓库和湖屋的数据。
除了 Microsoft Fabric SQL 查询编辑器,还有广泛的工具生态系统。 这些工具包括 Visual Studio Code、Azure Data Studio、SQL Server Management Studio,甚至 GitHub Copilot。 可通过自己选择的工具增强分析和见解生成。
语义模型
默认语义模型是自动设置的 Power BI 语义模型。 此功能支持创建、共享和重用业务指标。 有关详细信息,请参阅语义模型。
近乎实时的复制是如何工作的?
在 Azure Cosmos DB 数据库上启用镜像后,联机事务处理 (OLTP) 数据上的插入、更新和删除操作会持续复制到 Fabric OneLake 中,供分析使用。
连续备份功能是镜像的先决条件。 可在 Azure Cosmos DB 帐户上启用 7 天或 30 天连续备份。
注意
镜像不使用 Azure Cosmos DB 的分析存储或更改源作为变更数据捕获源。 你可以继续独立使用这些功能以及镜像。
将 Azure Cosmos DB 数据复制到 Fabric OneLake 可能需要几分钟时间。 根据数据的初始快照或更新/删除的频率,在某些情况下,复制也可能需要更长的时间。 复制不会影响为事务性工作负载分配的请求单位 (RU)。
镜像会带来什么
在镜像之前,应考虑一些注意事项和支持的场景。
安装注意事项
若要镜像数据库,应已在 Azure 中预配该数据库。 作为先决条件,必须在帐户上启用连续备份。
- 一次只能单独镜像每个数据库。 可以选择要镜像的数据库。
- 可以在同一工作区中多次镜像同一数据库。 最佳做法是,可以跨湖屋、仓库或其他镜像数据库重复使用单一数据库副本。 不需要为同一数据库设置多个镜像。
- 还可以跨不同的 Fabric 工作区或租户镜像同一数据库。
- 对 Azure Cosmos DB 容器的更改(例如添加新容器和删除现有容器)将无缝复制到 Fabric。 例如,可以先镜像一个没有容器的空数据库,镜像会无缝地选取稍后添加的容器。
支持嵌套数据
嵌套数据在 SQL 分析终结点表中显示为 JSON 字符串。 可在 T-SQL 查询或视图中使用 OPENJSON
、CROSS APPLY
和 OUTER APPLY
有选择地扩展此数据。 如果使用 Power Query,还可以应用 ToJson
函数来扩展此数据。
注意
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 项具有 addressName
和 AddressName
作为唯一属性,则 Fabric 表具有相应的 addressName
列和 AddressName_1
列。 有关详细信息,请参阅复制限制。
安全性
基于 Azure Cosmos DB 帐户的帐户密钥与源数据库链接。 如果轮换或重新生成密钥,则需要更新连接以确保复制正常工作。 有关详细信息,请参阅连接。
连接建立后,其他 Fabric 用户无法直接看到帐户密钥。 你可以限制谁有权访问在 Fabric 中创建的连接。 不允许从镜像数据库中的数据资源管理器或分析终结点对 Azure Cosmos DB 数据库进行写入。
镜像目前不支持使用只读帐户密钥、单一登录 (SSO) 和 Microsoft Entra ID 以及基于角色的访问控制或托管标识进行身份验证。
将数据复制到 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 或 SDK、OneLake 文件资源管理器和 Azure 存储资源管理器访问 OneLake。
你可以通过 SQL Server Management Studio (SSMS) 等工具或 Microsoft 开放式数据库连接 (ODBC) 和 Java Database Connectivity (JDBC) 等驱动程序连接到 SQL 分析终结点。 有关详细信息,请参阅 SQL 分析终结点连接性。
还可以使用以下服务访问镜像数据:
- Azure 服务,例如 Azure Databricks、Azure HDInsight 或 Azure Synapse Analytics
- 在数据工程和数据科学场景中使用快捷方式的 Fabric Lakehouse
- Fabric 工作区中的其他镜像数据库或仓库
你还可以构建奖牌体系结构解决方案,清理和转换作为铜牌层进入镜像数据库的数据。 有关详细信息,请参阅 Fabric 中的奖牌体系结构支持。
定价
目前,在公共预览期间,镜像功能或在 Fabric 中存储镜像数据不收取费用。 通过 SQL、Power BI 或 Spark 查询数据的计算使用量仍基于 Fabric 容量收费。 有关详细信息,请参阅常见问题解答:定价。
如果在 Fabric 镜像中使用数据资源管理器,则会根据请求单位 (RU) 使用情况来浏览容器并查询源 Azure Cosmos DB 数据库中的项,从而产生典型成本。 Azure Cosmos DB 连续备份功能是镜像的先决条件:连续备份需要支付标准费用。 镜像连续备份计费不收取额外费用。 有关详细信息,请参阅 Azure Cosmos DB 定价。