具有Kimball的星型架构和数据集市的Data Lake

问题描述

客观

我对术语有点困惑:我已经基于Kimball的数据建模方法构建了Data Lake(不是DW),现在不确定是否可以使用Data Mart定义来命名我的MPP数据库层。

我的假设是,对于中等规模的组织报告,您仍然需要维度建模和Star Schema,其推理与this article中相同。

问题

  1. the following architecture处将Synapse称为数据集市是否正确(请参见下图)?
  2. 我可以说我没有DW(即使我具有Star Schema),但我拥有Data Lake + Data Mart吗?
  3. 我是否应基于业务/报告子域(多个数据市场)将Synapse划分为多个架构?

建筑细节

enter image description here

更具体地说,在我的情况下:

2-3)ADLS + Databricks组成Data Lake。所有ETL和Star Schema构建都发生在Data Lake层。所有逻辑位置都在这里。它仍然在原始层具有结构化和非结构化数据,使用廉价的ADLS存储,缺乏治理,具有ML,并且将来还会有流式传输。另一方面,除了原始数据外,我们在所有DL区域中都有写模式,我们对表进行了预先建模(在此过程中需要进行很多更改)。 我可以称它为Data Lake吗?

4。)Synapse用作ETL / Lake结果的微型投影/模型,以加快报告的响应时间。这里的逻辑几乎为零,很少有聚合。只有最终模型会加载到Synapse。 数据不会按业务子域拆分,我们只需将所有内容加载到单个DATAMART架构中。 这是个好方法吗?

解决方法

首先,我不会对定义感到困惑,因为(这些)术语的定义略有不同。但是,鉴于此,我将对这些术语进行一个高级定义,如下所示:

  1. Data Lake:这是您的源数据,已加载到数据存储中,您可以在其中开始对其进行分析。通常,其结构与源系统中的结构相同(即,它是“原始”数据),此外,还可以选择包含一些审核列,以显示数据的来源,何时加载等。 一些数据湖具有多层,例如原始数据层,然后是治理数据层,在该数据层中已对数据进行了清理,标准化等操作-但其结构仍与原始数据层基本相同

  2. 数据仓库:这是您所有事实和维度表(以及其他表(例如桥))的Kimball模型。它将从您的数据湖中存在的数据中构建

  3. 数据集市:这是从您的数据仓库中获取的主题区域。这可能是逻辑定义(例如,销售市场是销售事实表和相关维度),也可能是物理化的,例如从事实及其维度生成的单个宽表。定义数据集市的方式通常取决于使用它们的人员/消费方式及其需求。例如,您可能有多个销售数据集市,它们都基于同一个Sales Star,因为您有多个工具倾向于使用以特定方式构造的数据

希望这有帮助吗?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...