适用于:✅Azure 数据资源管理器
本部分介绍使用更新策略的已知方案。 如果情况类似,请采用这些方案。
在本文中,你将了解以下常见方案:
Medallion 体系结构数据扩充
更新表的策略可以高效地应用快速转换,并且与 Fabric 中的金字塔湖屋架构兼容。
在奖牌体系结构中,当原始数据降落在登陆表(青铜层)中时,更新策略会应用初始转换并将扩充的输出保存到银层表。 此过程级联,其中银层表的数据触发了另一项更新策略,以进一步完善数据并填充金层表。
下图显示了名为 Get_Values的数据扩充更新策略示例。 丰富的数据输出到银层表中,其中包括经过计算的时间戳值和基于原始数据的查找值。
数据路由
当原始数据项的一个或多个属性使得该数据被路由到不同的表时,会发生数据增强的一个特殊情况。
请考虑使用与上一方案相同的基本数据的示例,但这次有三条消息。 第一条消息是设备遥测消息,第二条消息是设备警报消息,第三条消息是错误消息。
若要处理此方案,将使用三个更新策略。 Get_Telemetry 更新策略会筛选设备遥测消息、扩充数据并将其保存到 Device_Telemetry 表中。 同样,Get_Alarms 更新策略也会将数据保存到 Device_Alarms 表中。 最后, Log_Error 更新策略将未知消息发送到 Error_Log 表,让操作员检测格式不正确的消息或意外的架构演变。
下图显示了包含三个更新策略的示例。
优化数据模型
表的更新策略旨在提高速度。 表通常符合 星型架构设计,该设计支持开发针对性能和可用性优化的数据模型。
查询星型架构中的表通常需要联接表,但表联接可能会导致性能问题,尤其是在查询大量数据时。 通过在引入时存储非规范化数据,以平展模型从而提高查询性能。
引入时联接表对少量数据进行作,从而减少联接的计算成本。 此方法显著提高了下游查询的性能。
例如,通过查找维度表中的值,从设备扩充原始遥测数据。 更新策略在引入时执行查找,并将输出保存到非规范化表。 还可以使用从引用数据表获取的数据源扩展输出。
下图显示了名为 Enrich_Device_Data的更新策略的示例。 此策略将来自站点引用数据表的数据扩展到输出数据中。