1-数仓规划 - 图1
基本概念之间的关系和举例如下图所示。1-数仓规划 - 图21-数仓规划 - 图3

数据调研

确定需求

在构建与管理数据中台之前,首先需要确定数仓构建的目标与需求,进行全面的业务调研。
您需要了解真实的业务需求是什么,以及确定整个业务系统能解决什么问题

业务调研

充分的业务调研和需求分析是数据仓库建设的基石,直接决定数据仓库能否建设成功。
目标:

  • 用户的组织架构和分工界面
  • 用户的整体业务架构,模块之间的联系与信息流动的流程
  • 业务系统的主要功能及获取的数据

成果:
image.png
任务清单:
行动计划:

需求分析

进一步收集数据使用者的需求,进而对需求进行深度思考和分析
目标:

  • 业务数据是根据什么(维度、统计粒度,简称“粒度”,是维度或维度组合)汇总的,衡量标准是什么?例如,“省份”或者“类目”是维度,订单数是原子指标。
  • 基于上个问题,进一步思考明细数据层的事实模型和公共可引用的维度模型、汇总数据层的汇总模型应该如何设计?是否有公共使用,命名及逻辑相似的统计指标,目前已经重复建设使用,需要通过上述设计规范化?

成果:
image.png
任务清单:
行动计划:

文档

  • 需求调研的分析产出通常是记录业务需求的规范定义文档(派生指标、原子指标、业务限定、统计周期、统计粒度(即维度))。
  • 结合业务调研情况,您可以进一步产出设计明细逻辑模型设计文档(维度模型、事实模型)与概念模型设计文档(维度、业务过程及其关系)。

    分析业务过程

    https://help.aliyun.com/document_detail/125831.html
    分析业务过程的流程如下:
  1. 选择粒度。在业务过程事件分析中,您需要预判所有分析需要细分的程度和范围,从而决定选择的粒度。
  2. 设计维表。选择好粒度之后,您需要基于此粒度设计维表,包括维度属性等,用于分析时进行分组和筛选。
  3. 确定衡量指标。

架构设计与规范定义

划分数据域

数据仓库是面向主题的应用,主要功能是将数据综合、归类并进行分析利用
目标:
划分数据域时,需满足以下两点:

  • 能涵盖当前所有的业务需求。
  • 能在新业务进入时,无影响地被包含进已有的数据域中和扩展新的数据域。

成果:
image.png

定义维度与构建总线矩阵

根据阿里巴巴OneData方法论,明确每个数据域中有哪些业务过程后,您需要开始定义维度,并基于维度构建总线矩阵。

定义维度

目标:
维度在每个业务板块内必须具有唯一性,即每个维度在所属业务板块内有且只有一种定义。
成果:
维度创建、维表(维度逻辑表)
维表与维度一一对应,是通过丰富维度中的属性信息构建而成的。
image.png

构建总线矩阵

目标:
构建总线矩阵,该总线矩阵将用于指导后续事实模型关联维度的定义,构建数据仓库的雪花模型
成果:
image.png

明确统计指标

统计指标包括派生指标、原子指标、业务限定、业务过程和统计粒度(即维度)。
原子指标是明确统计口径和计算逻辑,事实模型或维度模型定义完成,即可创建原子指标。派生指标即常见的统计指标,派生指标=统计周期+业务限定+原子指标+统计粒度

模型设计

技术架构选型

根据阿里巴巴OneData方法论最佳实践,在设计数据模型前,您需要完成技术架构的选型。本教程中使用阿里云大数据产品Dataphin配合MaxCompute,完成整体的数据建模和研发流程。
完整的技术架构如下图所示。其中,Dataphin的数据集成及同步负责完成源业务系统数据引入。MaxCompute作为整个大数据开发过程中的离线计算引擎。Dataphin则基于OneData方法论——OneModel、OneID、OneService,囊括了数据建模研发、运维中心、监控报警、数据资产等在内的一系列功能。
1-数仓规划 - 图9
1-数仓规划 - 图10

数仓分层

三层:

  • 数据引入层(ODS,Operational Data Store)
  • 数据公共层(CDM,Common Dimenions Model)。采用维度模型方法作为理论基础
    • 维度层(DIM,Dimension)。在Dataphin中,也被称为维度逻辑表。
    • 明细数据层(DWD,Data Warehouse Detail)。宽表化处理。在Dataphin中,也被称为事实逻辑表。
    • 汇总数据层(DWS,Data Warehouse Summary)。在Dataphin中,汇总数据层的表通常也被称为汇总逻辑表,用于存放派生指标数据。
  • 数据应用层(ADS,Application Data Store)

1-数仓规划 - 图11

数据引入层(ODS)

目标:
ODS层存放您从业务系统获取的最原始的数据,是其他上层数据的源数据。
OSD层设计规范
成果:
image.png

维度层(DIM)

建立一致数据分析维表,可以降低数据计算口径和算法不统一风险。
以维度作为建模驱动,基于每个维度的业务含义,通过定义维度及维度主键,添加维度属性、关联维度等定义计算逻辑和雪花模型,完成属性定义的过程并建立一致的数据分析维表。
同时您可以定义维度主子关系,子维度的属性将合并至主维度使用,进一步保证维度的一致性和便捷使用性。
成果:
维度逻辑表

明细数据层(DWD)

事实表(事实模型,又称事实逻辑表)作为数据仓库维度建模的核心,紧紧围绕着业务过程进行设计。
事务型事实表的一般设计过程:

  1. 选择业务过程。
  2. 确定粒度。
    1. 事实表中一条记录所表达的业务细节程度被称为粒度。通常粒度可以通过两种方式来表述:一种是维度属性组合所表示的细节程度;一种是所表示的具体业务含义(例如商品)。
  3. 确定维度。
  4. 确定事实。
  5. 关联维度
    1. 维度建模理论建议在事实表中只保存这些维表的外键,

      汇总数据层(DWS)

      以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求构建公共粒度的汇总表。
      成果:
      汇总数据层的一个表通常会对应一个统计粒度(维度或维度组合)及该粒度下若干派生指标

      主题式查询

      主题式查询是基于Dataphin加工出的逻辑表,运用逻辑SQL对数据进行的AdHoc查询。