创建数仓分层

数仓分层是结合对业务场景、实际数据、使用系统的综合分析,对数据模型进行的整体架构设计及层级划分。用于将不同用途的数据,归类划分至不同的分层,便于您更好地组织、管理、维护数据。本文为您介绍如何创建并管理数仓分层。

背景信息

数据仓库是所有数据的集合,包括日志信息、数据库数据、文本数据、外部数据等都集成在数据仓库中。数仓分层、数据域、业务过程、数据集市、主题域等要素,共同确定了您此次建模的逻辑数仓架构。其中,数据域及业务过程位于公共层,用于公共层数据模型的构建。数据集市及主题域位于应用层,用于面向具体业务应用的模型构建。

数仓分层保障了数据在进入数据仓库之前都经过清洗和过滤,使原始数据不再杂乱无章,优化了查询过程,有效的提高了数据获取、统计和分析的效率。同时,数仓分层实现了各种不同维度数据的关联,使多维分析更加方便,为从多角度、多层次地数据分析和决策制定提供便捷。

规划数仓分层

数仓分层需要结合业务场景、数据场景、系统场景进行综合考虑设计,您可以根据实际业务需求,规划您数据模型的分层。

DataWorks的数仓分层功能,默认为您创建了数据引入层ODS(Operational Data Store)公共维度层DIM(Dimension)明细数据层DWD(Data Warehouse Detail)汇总数据层DWS(Data Warehouse Summary)应用数据层ADS(Application Data Service)等五层,各个分层的功能介绍如下:

  • 数据引入层 ODS(Operational Data Store)

    ODS层用于接收并处理需要存储至数据仓库系统的原始数据,其数据表的结构与原始数据所在的数据系统中的表结构一致,是数据仓库的数据准备区。ODS层对原始数据的操作具体如下:

    • 将原始的结构化数据增量或全量同步至数据仓库中。

    • 将原始的非结构化数据(例如,日志信息)进行结构化处理,并存储至MaxCompute。

    • 根据实际业务需求,记录原始数据的历史变化或对原始数据进行简单的清洗。

    ODS层的数据表,命名必须以ods开头,并且生命周期为366天。

  • 明细数据层 DWD(Data Warehouse Detail)

    DWD层通过企业的业务活动事件构建数据模型。基于具体业务事件的特点,构建最细粒度的明细数据表。您可以结合企业的数据使用特点,将明细数据表的某些重要维度属性字段适当冗余,即宽表化处理。同时,也可以减少明细数据表及维度表的关联,提高明细表的易用性。

  • 汇总数据层 DWS(Data Warehouse Summary)

    DWS层通过分析的主题对象构建数据模型。基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表。

    例如,从ODS层中对用户的行为做一个初步的归类汇总,抽象出来一些通用的维度,假设维度为时间IPID,并根据这些维度统计出相关数据,比如用户每个时间段在不同登录IP购买的商品数。则在DWS层可以进一步添加一层轻度的汇总,可以让计算更加的高效。例如在此基础上计算仅7天、30天、90天的行为会节省很多时间。

  • 应用数据层 ADS(Application Data Service)

    ADS层用于存放数据产品个性化的统计指标数据,输出各种报表。例如,某电商企业,在6月9日至6月19日,杭州地域出售的各大球类商品的数量及排行情况。

  • 公共维度层 DIM(Dimension)

    DIM层使用维度构建数据模型。可基于实际业务,存放逻辑模型的维度表;或存放概念模型的维度定义,通过定义维度,确定维度主键,添加维度属性,关联不同维度等操作,构建整个企业的一致性数据分析维表,帮助您降低数据计算口径和算法不统一的风险。

对于创建的分层,您可以选择平铺展示层级结构展示,如下图所示。数仓分层

展示方式

描述

平铺展示

不区分层级结构,所有分层统一平铺放置。

层级结构展示

DataWorks为您提供了贴源层公共层应用层其他等分层归属,您可以将创建的数据分层挂载至不同的分层归属。

  • 贴源层:主要用于数据库、日志、消息等基础数据的引入。

  • 公共层:主要完成公共数据的加工与整合,建立统一的维度,构建可复用面向分析和统计的明细事实表,以及汇总公共粒度的指标。

  • 应用层:基于实际应用需求,获取公共层加工整合后的数据,进行持续的个性化数据建设及改造。

  • 其他:用于存放存量创建的系统默认层级及用户自定义的层级。

    • 系统默认层级:您需提交给技术支持人员,帮助您修改该类层级的分层归属

    • 用户自定义的层级:您需通过编辑操作,修改层级的分层归属

    说明

    如果位于其他层级的数据分层未修改层级归属,则后续创建模型表时无法挂载相应表至该层级。

说明

分层归属一旦设置(包括新建时配置及编辑修改配置)则无法变更,请您合理规划层级归属。

创建数仓分层

系统已默认为您创建了五个分层(ODS层、DIM层、DWD层、DWS层、ADS层),可满足绝大部分的场景和需求,如您存在部分需要个性化处理的场景,可参见如下步骤创建新的数仓分层。

个性化处理的场景示例:抽象出TMP(临时表)层,在创建表时严格将表归属到对应分层,对每个分层设定一些标准和校验规则,譬如命名规范、生命周期设置等。

  1. 进入数仓分层

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据建模,在下拉框中选择对应工作空间后单击进入数据建模

    2. 智能数据建模页面的顶部菜单栏,单击数仓规划,默认进入数仓分层页面。

  2. 创建分层。

    1. 单击新建分层,在新建数仓分层对话框配置分层的基本信息。新建数仓分层

      参数

      描述

      英文缩写

      数仓分层的英文缩写,唯一标识数仓分层。

      英文名

      数仓分层的英文名称。

      中文名

      数仓分层的中文名称。

      负责人

      创建数仓分层的负责人。默认为当前登录账号。

      分层归属

      该参数与模型类型配合使用。用于将创建的分层划分至不同层级,并关联对应的模型类型。

      • 贴源层:主要用于数据库、日志、消息等基础数据的引入。

      • 公共层:主要完成公共数据的加工与整合,建立统一的维度,构建可复用面向分析和统计的明细事实表,以及汇总公共粒度的指标。

      • 应用层:基于实际应用需求,获取公共层加工整合后的数据,进行持续的个性化数据建设及改造。

      • 其他:用于存放存量创建的系统默认层级及用户自定义的层级。

        • 系统默认层级:您需提交给技术支持人员,帮助您修改该类层级的分层归属

        • 用户自定义的层级:您需通过编辑操作,修改层级的分层归属

        说明

        如果位于其他层级的数据分层未修改层级归属,则后续创建模型表时无法挂载相应表至该层级。

      说明

      分层归属一旦设置(包括新建时配置及编辑修改配置)则无法变更,请您合理规划层级归属。

      模型类型

      该参数与分层归属配合使用。用于将对应的模型类型挂载至不同的分层归属。

      • 贴源表:只能挂载至贴源层

      • 明细表:只能挂载至公共层

      • 应用表:只能挂载至应用层

      • 汇总表:只能挂载至公共层

      • 维度表维度以及维度表、维度(即维度表和维度的组合):可挂载至公共层应用层

      说明
      • 模型类型一旦设置则无法变更,请您合理规划模型类型。

      • 已创建的数仓分层中,若中英文名称中包含关键词dimDIMDim维度,则DataWorks默认将其模型类型变更为维度、维度表

      备注

      数仓分层的备注信息。您可输入目标数仓分层的功能描述,方便您快速了解每个分层的功能作用,将对应业务数据存放至合适的分层。

      最大长度为2048字符。

  3. 单击确认,完成创建。

后续步骤

数仓分层创建完成后,您需创建数仓分层检查器,用于规范数仓分层中表的命名规范,详情请参见配置及使用数仓分层检查器