1

我对硬规则 (rawvault) 和软规则 (businessrules) 有疑问。

我的示例是一个源系统有一个名为 Pets 的非规范化表,其中 Pets 包含 Cats、Dogs 和 Birds,它们通过类型代码(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,因为这将被归类为软规则?

4

2 回答 2

2

在您的情况下,您将为所有三种动物类型提供一个集线器。任何更改数据的逻辑都添加在原始保管库之后。

这是软规则和硬规则之间的一个很好的区别:

硬规则

这些应在数据存储到 DataVault 之前应用。此处应用的任何规则都不会改变数据的内容或粒度,并保持可审计性。

  • 数据打字
  • 规范化/非规范化
  • 添加系统字段(标签)
  • 重复数据删除
  • 按记录结构拆分
  • 从字符串中修剪空格

软规则

更改或解释数据的规则,例如添加业务逻辑。这会改变数据的粒度。

  • 连接名称字段
  • 标准化地址
  • 计算月销售额
  • 合并
  • 合并
于 2019-10-23T11:00:20.827 回答
0

我想我会采用第二种方法来尽可能接近源数据结构。

然后根据需要拆分业务库中的表。我想这也不需要遵守 Data Vault 模型。最后的主要问题是你想如何使用数据。如果用于报告,那么我认为虚拟多维数据集也可以。

于 2018-08-02T07:03:41.970 回答