写在前面
本篇先不讨论Data Vault其本身,因为不见得所有人都接受这个。但是里边有一些很不错的东西跟主流的数据仓库方法是有共同点的,所以这里主要讨论这些共同的方法,在笔者看来,无论是Kimball还是DV,这些方法都是很有用的。这个系列为作者本人哥本哈士奇的个人理解和总结,可能会有理解上的偏差,也欢迎大家一起来讨论。
哈希计算
常用的哈希计算,HASH KEY, HASH FULL, HASH DIF,这里会有简单的介绍。
关于如何做哈希计算,可以参考这个链接:
https://www.hansmichiels.com/2016/04/09/hash-diff-calculation-with-sql-server-datavault-series/
HASH KEY
哈希键,通常是根据业务键来生成的,比如车辆的唯一识别号,如果已知一个系统的业务键跟另外一个系统的业务键可能有重合,那么可以考虑把RECORD SOURCE(后面会有介绍)也加进来参与计算。
在传统的数据仓库方法论里,出于性能角度的考虑,会在维度加载的时候去维护一个维度键和代理键的映射表,生成一个数值作为代理键,然后在维度表里只保留这个数值。维度加载完毕之后,加载事实表的时候,遇到了这个维度键,先会去映射表里查对应的代理键ÿ