Amazon redshift 如何在使用Data Vault原则建模的数据库中使用交叉引用表?

Amazon redshift 如何在使用Data Vault原则建模的数据库中使用交叉引用表?,amazon-redshift,lookup-tables,data-vault,Amazon Redshift,Lookup Tables,Data Vault,我有一个带有性别属性的人物卫星。从源系统中,此属性的值可以是:F、M、女性或男性。以下两种方法中,哪一种是用于Data Vault建模的正确方法 以性别存储数据,因为数据来自源,并且存储在业务Vault或数据集市中。将值标准化为仅限女性和男性 创建一个交叉参考表,将F映射为女性,将M映射为男性,在加载Person卫星时,使用交叉参考表将F转换为女性,将M转换为男性 我正在使用支持列压缩的Amazon Redshift。当您的业务逻辑非常复杂且随时间变化时,Data vault概念非常有用,但F/

我有一个带有性别属性的人物卫星。从源系统中,此属性的值可以是:F、M、女性或男性。以下两种方法中,哪一种是用于Data Vault建模的正确方法

  • 以性别存储数据,因为数据来自源,并且存储在业务Vault或数据集市中。将值标准化为仅限女性和男性

  • 创建一个交叉参考表,将F映射为女性,将M映射为男性,在加载Person卫星时,使用交叉参考表将F转换为女性,将M转换为男性


  • 我正在使用支持列压缩的Amazon Redshift。

    当您的业务逻辑非常复杂且随时间变化时,Data vault概念非常有用,但F/Female和m/Male映射是一种非常简单和稳定的逻辑。交叉引用只会使事情变得过于复杂。我只想将值标准化为F/M,并在这里使用char(1)列而不进行压缩。

    我给Data Vault建模方法的创建者Daniel Linstedt发了电子邮件,问他同样的问题。他的回答是:


    “我通常会在它进入时存储它,然后在将其翻译到业务DV的过程中进行。这样,如果业务部门改变了主意,我们可以在不影响历史的情况下重新编写翻译规则。但除此之外,我见过一些源代码系统提供的值超出了可接受的范围。不要试图在输入原始DV的过程中进行转换,这样做会破坏可审计性。“

    我真的无法回答你的问题,但我认为红移和DV听起来是痛苦的结合。根据我的经验,红移性能会随着加入次数的增加而严重下降。谢谢,@Joe Harris。我了解多重连接。我将在Business Vault中设置一些PIT和bridges来帮助实现这一点,并为最终用户创建一些特定的信息集市,这些集市将提供更统一的数据视图谢谢@AlexYes。我也赞成将这些价值标准化。但是,我更感兴趣的是了解这样做的缺点,因为Data Vault原则明确规定不应在原始Vault中进行任何转换