你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是数据产品?

每个应用程序都会临时或永久地创建和存储数据。 许多应用程序也会创建和保存数据来进行操作管理,例如错误记录和运行状况监视。 集中式数据团队使用 ETL 流程来使用和处理这些应用程序产生的数据。 应用程序操作团队通常有额外的数据处理流程,用于应用程序运行状况和 KPI 状态监视等事件。

在数据集成中对团队和职责采用传统的瀑布式方法效果并不理想。 这可能会导致知识差距、所有权问题和通信冲突,从而影响数据质量、时间线和对最终用户的价值。 应用程序团队对应用程序的性能和成功负责。 在工作中,他们需要对其他团队拥有的下游流程进行更改,但这些更改通常不按计划进行。 例如,你可能会发现所谓的微小上游变化极大地改变了 KPI 的趋势。 这些类型的数据问题可能会影响你做出关键决策的能力。

数据网格方法采用“数据即产品”的概念来防止这些问题。 应用程序所有者和应用程序团队将数据视为其负责的完全包含的产品,而不是由其他人管理的某些流程的副产品。 应用程序和分析数据服务任务都在领域职责范围内。

数据产品是专门为分析使用而创建的。 他们定义并商定了形状、使用接口、维护和更新周期,所有这些都记录在案。

数据产品是经过处理的领域数据资产/数据集,通过 SLO 中的接口与下游流程共享。 除非另有要求,否则原始数据应经过处理、塑造、清理、聚合和规范化,以符合商定的质量标准,然后再将其投入使用。

以下部分概述了优质数据产品具备的常见特征。

数据产品特征

设计良好的数据产品包括:

可发现、可理解和可信:领域团队通过共享和更新有关每个数据产品、其数据、含义、数据形状格式及其刷新周期的信息来提供可发现性和可理解性。 他们及时将数据或形状的变化传达给下游使用者。 接口通过为数据产品形状提供有时间限制的向后兼容性来确保可信度。

可寻址、本机可访问且安全:用于定位和获取对每个数据产品的访问权限的已定义流程提供了可寻址性。 针对不同的访问要求采取了必要的安全措施。 数据域所有权心态从限制数据接触转变为通过明确定义的安全预防措施提供数据。 提供的访问接口记录良好,在不同技术上可能有所不同。 本机可访问的数据产品的常用接口包括 API、数据库用户、表或视图以及具有必要访问权限的文件。

可互操作、真实且有价值:数据通过遵循定义的通用标准(例如,相同的值始终具有相同的名称和数据类型)来提供互操作性。 例如,包含客户标识数据的列在每个数据产品中的标题可能为 CustomerID,其数据可能始终为整数,或者在每个实例中都使用 snake_case 或 camelCase。 数据产品为客户提供价值,还可用作相同或不同领域中新的数据产品的上游源。 但是,不能只是在多个位置提供和复制相同的数据产品。 来自之前数据产品的每个数据产品都应为下游使用者提供新的价值和信息。 数据产品还必须始终提供真实、无误的数据。

设计良好、维护良好的数据产品及其接口可帮助组织避免复制数据,并有助于创建本地单一事实来源。

数据产品设计建议

为了满足数据产品服务要求,领域团队必须掌握一套新技能并使用新的工具和平台。

充分装备领域应用团队来构建数据应用程序并生产或提供数据产品。 团队可以使用熟悉的技术堆栈生成数据产品。 如果可行,他们可能更倾向于有自己的 Spark 实例或管道引擎。 例如,为许多数据产品提供服务的大型领域可能决定从其自己的 Azure Synapse Analytics 处理和提供数据产品。 更小型的组织和大型企业中较小的领域可能决定在共享平台上开发和运行其数据应用程序,这些平台包括集中的 Azure 数据工厂、Azure Synapse Analytics 或 Azure Databricks。

请确保数据产品具有本文所述的常见特征,世系存储库反映了数据应用程序世系,并且实现和访问受到管理。

显示领域和登陆区域中可能的数据应用逻辑布局的示意图。

Azure 的数据产品和数据应用指南

如果你的领域应用团队使用共享平台和一组服务,那么你可以对 Azure 数据登陆区域中的数据应用环境使用所有可能的方法。

示意图显示数据应用上下文中的 data-application-rg 资源组和核心服务上下文中的 shared-application-rg 资源组。

可在 Azure 中的云规模分析数据产品 - 示例数据应用中找到三种适合 Azure 数据登陆区域的不同数据应用模式模板。

后续步骤