我对硬性规则(rawvault)和软性规则(businessrules)有疑问。
我的示例是一个源系统,该系统具有一个称为Pets的非规范化表,其中Pet包含猫,狗和鸟,它们通过类型代码(1 –猫,2 –狗,3 –鸟)进行区分。
我的问题是关于将数据加载到Rawvault与业务库中时的硬性规则与软性规则。加载Pets表时,是否可以在rawvault中创建h_cat,h_dog和h_bird集线器,并根据类型代码1将源表pets筛选为h_cat,将类型代码2筛选为h_dog,将类型代码3筛选为h_bird?这是硬性规定还是软性规定?
或
我们应该在rawvault中创建h_pet集线器,以使数据尽可能接近源,从而在根据类型代码过滤数据时在businessvault中创建h_cat,h_dog和h_bird,因为这将被归类为软规则?
答案 0 :(得分:0)
我想我会采用第二种方法,以尽可能接近源数据结构。
然后根据需要在业务库中拆分表。我想这也不需要符合Data Vault模型。最后,主要问题是如何使用数据。如果要进行报告,那么我想一个虚拟多维数据集也可以工作。
答案 1 :(得分:0)
如果您的情况是,您将拥有针对所有三种动物类型的单一中心。在原始保管库之后会添加任何更改数据的逻辑。
在软规则和硬规则之间有很好的区别:
硬性规则
这些应在数据存储在DataVault中之前应用。此处应用的任何规则都不会更改数据的内容或粒度,并保持可审核性。
软件规则
更改或解释数据的规则,例如添加业务逻辑。这将更改数据的粒度。