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

使用表更新策略的常见方案是什么

本部分介绍一些使用更新策略的已知方案。 当你的情况相似时,请考虑采用这些方案。

本文介绍以下常见方案:

Medallion 体系结构数据扩充

表上的更新策略提供了一种应用快速转换的有效方法,并与 Fabric 中的奖牌湖屋体系结构兼容。

在奖牌体系结构中,当原始数据落入登陆表 (铜层) 时,可以使用更新策略来应用初始转换并将扩充的输出保存到银层表。 此过程可以级联,其中银层表中的数据可以触发另一个更新策略,以进一步优化数据并水合黄金层表。

下图演示了名为 Get_Values 的数据扩充更新策略的示例。 扩充的数据将输出到银层表,其中包括计算的时间戳值和基于原始数据的查找值。

显示使用更新策略解决方案的 medallion 体系结构数据扩充方案的关系图。

数据路由

当原始数据元素包含必须基于数据本身的一个或多个属性路由到其他表的数据时,会发生数据扩充的特殊情况。

假设有一个示例,该示例使用与上一个方案相同的基本数据,但这次有三条消息。 第一条消息是设备遥测消息,第二条消息是设备警报消息,第三条消息是错误。

为了处理这种情况,使用了三个更新策略。 Get_Telemetry更新策略会筛选设备遥测消息、扩充数据,并将其保存到Device_Telemetry表中。 同样, Get_Alarms 更新策略将数据保存到 Device_Alarms 表。 最后, Log_Error 更新策略将未知消息发送到 Error_Log 表,使操作员能够检测格式不正确的消息或意外的架构演变。

下图描述了包含三个更新策略的示例。

显示使用更新策略解决方案的数据路由方案的关系图。

优化数据模型

针对表的更新策略是为了加快速度而构建的。 表通常符合star架构设计,该设计支持开发针对性能和可用性进行优化的数据模型。

在star架构中查询表通常需要联接表。 但是,表联接可能会导致性能问题,尤其是在查询大量数据时。 若要提高查询性能,可以通过在引入时存储非规范化数据来平展模型。

在引入时联接表具有对少量数据进行操作的额外好处,从而降低联接的计算成本。 此方法可以大幅提高下游查询的性能。

例如,可以通过从维度表中查找值来丰富设备的原始遥测数据。 更新策略可以在引入时执行查找,并将输出保存到非规范化表。 此外,还可以使用来自引用数据表的数据扩展输出。

下图描绘了示例,其中包含名为 Enrich_Device_Data 的更新策略。 它使用来自 站点 引用数据表的数据扩展输出数据。

显示使用更新策略解决方案优化数据模型方案的示意图。