数仓分层是结合对业务场景、实际数据、使用系统的综合分析,对数据模型进行的整体架构设计及层级划分。用于将不同用途的数据,归类划分至不同的分层,便于您更好地组织、管理、维护数据。本文为您介绍如何创建并管理数仓分层。
背景信息
数据仓库是所有数据的集合,包括日志信息、数据库数据、文本数据、外部数据等都集成在数据仓库中。数仓分层、数据域、业务过程、数据集市、主题域等要素,共同确定了您此次建模的逻辑数仓架构。其中,数据域及业务过程位于公共层,用于公共层数据模型的构建。数据集市及主题域位于应用层,用于面向具体业务应用的模型构建。数仓分层保障了数据在进入数据仓库之前都经过清洗和过滤,使原始数据不再杂乱无章,优化了查询过程,有效的提高了数据获取、统计和分析的效率。同时,数仓分层实现了各种不同维度数据的关联,使多维分析更加方便,为从多角度、多层次地数据分析和决策制定提供便捷。
规划数仓分层
数仓分层需要结合业务场景、数据场景、系统场景进行综合考虑设计,您可以根据实际业务需求,规划您数据模型的分层。
- 数据引入层 ODS(Operational Data Store)ODS层用于接收并处理需要存储至数据仓库系统的原始数据,其数据表的结构与原始数据所在的数据系统中的表结构一致,是数据仓库的数据准备区。ODS层对原始数据的操作具体如下:
- 将原始的结构化数据增量或全量同步至数据仓库中。
- 将原始的非结构化数据(例如,日志信息)进行结构化处理,并存储至MaxCompute。
- 根据实际业务需求,记录原始数据的历史变化或对原始数据进行简单的清洗。
ods
开头,并且生命周期为366天。 - 明细数据层 DWD(Data Warehouse Detail)
DWD层通过企业的业务活动事件构建数据模型。基于具体业务事件的特点,构建最细粒度的明细数据表。您可以结合企业的数据使用特点,将明细数据表的某些重要维度属性字段适当冗余,即宽表化处理。同时,也可以减少明细数据表及维度表的关联,提高明细表的易用性。
- 汇总数据层 DWS(Data Warehouse Summary)
DWS层通过分析的主题对象构建数据模型。基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表。
例如,从ODS层中对用户的行为做一个初步的归类汇总,抽象出来一些通用的维度,假设维度为时间、IP、ID,并根据这些维度统计出相关数据,比如用户每个时间段在不同登录IP购买的商品数。则在DWS层可以进一步添加一层轻度的汇总,可以让计算更加的高效。例如在此基础上计算仅7天、30天、90天的行为会节省很多时间。
- 应用数据层 ADS(Application Data Service)
ADS层用于存放数据产品个性化的统计指标数据,输出各种报表。例如,某电商企业,在6月9日至6月19日,杭州地域出售的各大球类商品的数量及排行情况。
- 公共维度层 DIM(Dimension)
DIM层使用维度构建数据模型。可基于实际业务,存放逻辑模型的维度表;或存放概念模型的维度定义,通过定义维度,确定维度主键,添加维度属性,关联不同维度等操作,构建整个企业的一致性数据分析维表,帮助您降低数据计算口径和算法不统一的风险。

展示方式 | 描述 |
---|---|
平铺展示 | 不区分层级结构,所有分层统一平铺放置。 |
层级结构展示 | DataWorks为您提供了贴源层、公共层、应用层、其他等分层归属,您可以将创建的数据分层挂载至不同的分层归属。
|
创建数仓分层
系统已默认为您创建了五个分层(ODS层、DIM层、DWD层、DWS层、ADS层),可满足绝大部分的场景和需求,如您存在部分需要个性化处理的场景,可参见如下步骤创建新的数仓分层。
个性化处理的场景示例:抽象出TMP(临时表)层,在创建表时严格将表归属到对应分层,对每个分层设定一些标准和校验规则,譬如命名规范、生命周期设置等。
- 进入数据建模。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的数据开发。
- 单击左上方的
图标,选择 ,默认进入数仓分层页面。
- 创建分层。
- 单击确认,完成创建。
后续步骤
数仓分层创建完成后,您需创建数仓分层检查器,用于规范数仓分层中表的命名规范,详情请参见配置及使用数仓分层检查器。