数据仓库或孤岛数据集市

Posted

技术标签:

【中文标题】数据仓库或孤岛数据集市【英文标题】:Data warehouse or silo data marts 【发布时间】:2019-04-24 17:23:11 【问题描述】:

目前我们有 12 个不同的数据库,其中 7 个是维度的。 我们是一个以知识为基础的非营利组织,我们拥有基于患者所患疾病种类的数据库。

例如。我们的数据库看起来像

    艾滋病毒 丙型肝炎 脑膜炎

等等……

其中的每一个都包含以下表格的数据:

病人

样本(血样)

位置

诊断

性别

提供者

我们不跟踪花费了多少钱,因为我们只跟踪 +ve 和 -ve 样本。

现在,高层管理人员提出了一个问题,即我们应该从孤岛数据集市构建数据仓库。

但是,业务用户从来没有问过他们在哪里需要来自两个不同数据库的数据。如果用户没有考虑,我们还需要 DW 吗?

我想到的更多问题是:

    每个数据集市的粒度是多少? 哪个维度可以作为一致维度? ETL 将如何流动? 在所有 DM 中实现单一版本的真相?

我只是在做一个倡议,以了解什么可以解决我们所处的情况。感谢任何帮助。

谢谢

【问题讨论】:

我认为您可能想退后一两步,然后问:“企业需要从今天无法获得或难以获得的数据中获得什么?”一旦了解了这一点,就可以开始考虑实施。 DW 可能是正确的选择,但这并不确定。 我问过我的经理,她不知道。询问同事,用户是否曾询问过我们永远无法回答的问题,是否需要类似“如果此人患有脑膜炎,他是否也患有呼吸道疾病?”之类的问题。然而,基于上述数据集市并考虑到我们使用样本计数作为事实,哪个维度可以作为一致维度将每个 DM 凝聚在一起。(位置、年龄、日期、提供者?) 自然可能是人的维度。事实表可以参考它。可能太简单了,但可能足以让您入门。 嗯。这意味着每个患者维度现在都变成包含所有患者信息的一个维度。因此,ETL 也会因合规而改变。我会调查的。谢谢 【参考方案1】:

将所有数据集市保持在同一位置(数据仓库)的主要原因是能够跨不同数据集市跟踪相同的维度。

在您的示例中,我至少看到了可以由不同数据集提供的患者、提供者和疾病/诊断维度,并保留每个元素的单一版本。

您的数据集成例程将需要更新,以确保所有维度的正确更新。另外,您将需要设置数据仓库(如果您的数据很小,单节点 postgres 服务器应该绰绰有余)。如果考虑到在所有数据集市中拥有一致的数据并能够交叉查询,这些成本是可以接受的,那么就去做吧。

但是,正如您所说,您在任何地方都看不到商业案例。那么,您不是在尝试修复未损坏的东西吗?也许在需要之前保持原样,然后评估这种举措的成本/收益比。

【讨论】:

感谢您的回复。我知道 ETL 例程必须根据我们为 DW 构建的模型进行更新。我们是一家微软商店,我们正在运行 2012 SQL 服务器。我想保持原样,我已经向老年人提出了同样的问题,关于 DW 的商业用途以及如果我们保持原样会怎样。他们没有答案,但想考虑实施一个。在不知道 DW 使用知识的情况下开始制作之前,我主动了解了可以做些什么。【参考方案2】:

我能想到在这里构建数据仓库的一个原因是,如果您想“归档”数据集市中不再需要定期使用的旧数据。

在 cmets 中已经提到的另一个原因是,是否需要企业范围的报告(可能是在由外部方进行审计的情况下)。你没有提到你的企业有多大,但我觉得它并不大,所以我可能不会把这作为你做出决定的驱动因素。

【讨论】:

您所有的数据库组合起来不会达到 1 TB,所以它非常小。

以上是关于数据仓库或孤岛数据集市的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库和数据集市新手

第二篇:数据仓库与数据集市建模

数据集市是什么?

数据仓库与数据集市建模

数据仓库与数据集市的概念区别

数据仓库和数据集市的区别