我正在按照Kimball的理论创建一个数据仓库。因此,我的目标是最大数量的维度表重用。在这个理论中,我应该如何在物理上组织维度表?我使用数据库来组织我的数据集市(即每个数据库一个mart,每个mart可能有多个事实表)。由于给定的维度可以被多个marts使用(并且是我想要达到的目标),所以我不知道应该把维度表放在哪里。
例如,我是否应该将它们放在特定数据库中的某个模式下(例如,数据库“维度”下的模式“维度”)?或者,在构建新的数据集市时,我是否应该增量地将它们添加到每个新的数据库中?
发布于 2022-02-08 06:20:19
传统的数据仓库通常使用单独的数据库来创建基于工作负载、域或安全性的应用程序边界。
例如,传统的Server数据仓库可能包括一个暂存数据库、一个数据仓库数据库和一些数据集市数据库。在此拓扑中,每个数据库在体系结构中充当工作负载和安全边界。
例如,您可以为HR datamart创建一个架构并加载其下的所有相关维度。
CREATE SCHEMA [HR]; -- name for the data mart HR
CREATE TABLE [HR].[DimEmployee] -- create dimensions related to data mart HR in the HR schema
( EmployeeSK BIGINT NOT NULL
, ...
);
发布于 2022-02-07 11:54:51
datamart是数据仓库的逻辑子集,而不是物理数据仓库的逻辑子集。数据仓库应该(在大多数情况下)驻留在单个数据库中。
https://stackoverflow.com/questions/71024379
复制相似问题