0

所以我正在尝试实现一个数据保险库。我在为集线器建模时遇到了一些困难。我有 2 个互不通信的系统。我想知道如何在集线器中表示来自不同来源的相同项目。

在我们的订购系统中,它会生成一个数字来区分客户。因此,假设我们有一个名为“Bob”的客户,他需要我们在 5 个地点提供服务。因此,我们将这 5 个地点视为单独的客户。所以我们得到了 5 个不同的客户 ID(10004-10008)。到目前为止,在 Data Vault 中很容易。

现在棘手的部分是在我们的操作系统中。我们有一个复合业务密钥。因此,我们得到一个唯一的客户名称“bob”和他的每个位置的序列号 (1-5)。所以 (bob,1) 是唯一的,但我们也可以有一个 (joe,1)。

在我们的操作系统中,无法输入订购系统的 ID。在我们的订购系统中,(bob,1) 信息直到 (bob,1) 已经创建好之后才被填写。

所以时间线可以是这样 Bob 进来并说我需要 5 个位置。订购系统为他提供 ID (10004-10008)。一周后,他在我们的操作系统中创建 (bob,1), (bob,2)...(bob,5) 然后也许 2 周后我们会看到 (10004,bob,1), (10005,bob ,2) 在订购系统中。

如何处理这种情况?

谢谢

4

2 回答 2

1

Data Vault 文献说您将每个密钥存储在集线器中并使用相同的链接进行套利。也许您可以通过自动填充链接在 ETL 中部分解决此问题。

有没有办法从他的位置拆分业务密钥?您似乎将不同的核心业务概念连接到同一个键中,您可能希望将其拆分为 DV 中的多个中心。(客户,客户所在地)

于 2016-06-16T09:34:51.110 回答
0

我可能会在原始数据库中创建两个集线器,与源系统对齐,然后在业务库中创建一个集线器,您可以在其中应用必要的业务规则来构建客户的单个集线器视图。这样,您可以完全保留源系统语义,但仍然通过尝试合并数据集来为业务增加价值。

如上所述,也可以使用一些相同的链接。

于 2019-05-27T03:23:57.770 回答