sql-server - 数据仓库或孤岛数据集市
问题描述
目前我们有 12 个不同的数据库,其中 7 个是维度的。我们是一个以知识为基础的非营利组织,我们拥有基于该人所患疾病种类的数据库。
例如。我们的数据库看起来像
- 艾滋病病毒
- 丙型肝炎
- 脑膜炎
等等...
其中每一个都将包含带有表格的数据,例如:
病人
样本(血样)
地点
诊断
性别
提供者
我们不跟踪花费了多少钱,因为我们只跟踪 +ve 和 -ve 样本。
现在,高层管理人员提出了一个问题,即我们应该从孤岛数据集市构建一个数据仓库。
但是,业务用户从来没有问过他们在哪里需要来自两个不同数据库的数据。如果用户没有考虑过,我们还需要 DW 吗?
我想到的更多问题是:
- 每个数据集市的粒度是多少?
- 哪个维度可以作为一致维度?
- ETL 将如何流动?
- 在所有 DM 中实现单一版本的真相?
我只是主动了解什么可以解决我们所处的情况。感谢任何帮助。
谢谢
解决方案
将所有数据集市保持在同一位置(数据仓库)的主要原因是能够跨不同数据集市跟踪相同的维度。
在您的示例中,我至少看到了可以由不同数据集提供的患者、提供者和疾病/诊断维度,并保留每个元素的单个版本。
您的数据集成例程将需要更新,以确保所有维度的正确更新。另外,您将需要设置数据仓库(如果您的数据很小,单节点 postgres 服务器应该绰绰有余)。如果考虑到在所有数据集市中拥有一致的数据并能够交叉查询,那么这些成本是可以接受的,那么就去做吧。
但是,正如您所说,您在任何地方都看不到商业案例。那么,您不是在尝试修复未损坏的东西吗?也许在需要出现之前保持原样,然后评估这种举措的成本/收益比。
推荐阅读
- java - 部署后如何使用java程序在springboot jar中创建或删除文件
- java - 黄瓜忽略 @BeforeEach 注释并给出 NullPointerExceptions
- javascript - Photoshop UI 对话框从函数返回
- matplotlib - RGB 到 html 中的颜色图 Matplotlib 的子集
- python - PyInstaller 创建可执行程序,该程序将提取现有的 .xlsx 文件并读取它
- android - 尝试从 Visual Studio 中分发 Xamarin APK
- sql - 如何在某个值差距之前识别每组的行?
- python - statsmodels.api Logit 给出 LinAlgError
- unity3d - 在帧结束前删除gameObject
- python - 加载数据集,其中每个观察都用 python pandas 分成 2 行