本文共 843 字,大约阅读时间需要 2 分钟。
历史拉链存储是处理缓慢变化维度的一种方式。通过新增start_dt和end_dt两个时间戳字段,将变更数据按时间戳存储。这种方式通常用于处理时间.grain为天的维度。
示例分析: 以商品维度为例,假设卖家A于2020-1-1发布商品B和C,并于2020-1-2下架B并发布D。采用全量存储,1月1日分区存储t1和t2,1月2日分区存储更新后的t1及t2和t3。
采用历史拉链存储后,不变数据不重复存储。下游应用可通过限制start_dt和end_dt范围获取历史数据。
实例操作:
优缺点分析:
为应对上述问题,采用极限存储方案:
透明化处理:
分区优化:
存储优化策略:
维度过度增长会影响极限存储效果。解决方案:
垂直拆分技术:
微型维度优化: 将不稳定属性归类至独立维度,基于组合代理键构建。如用户维度,移除VIP等级和信用评价相关字段,分别维护,可在买家维度引用。
实际应用考量:
优化建议: 在不可避免的局限性下,合理选择存储策略,最大化节省成本。
转载地址:http://kcdxz.baihongyu.com/