在数据管理领域,我们始终追求数据的清晰结构与有条不紊的关系流动。为了让数据在系统中能够层级分明、有序流转,并便于数据血缘追踪与生命周期的清晰观察,有效的数据、管理和处理方法显得尤为重要。这便是我们所提及的数据分层概念。
对于数仓分层,不同的厂商和业务服务类型可能会有各自独特的分层方式,但并无固定标准要求必须分为3层、4层或5层。最重要的还是满足业务和企业发展的实际需求。如上文图示所述,分层的理论通用模型如下所述。
图示:数仓分层示意图
在数据仓库中,我们设有一层名为ODS(Operational Data Store)的源数据层。这一层主要负责存储从源系统采集来的原始数据,其结构大体上与源系统保持一致。由于该层通常涉及大量的数据量,为了便于后续的数据处理与追溯,不建议在此层进行过多的数据清洗工作。数据清洗活动如去噪、去重及异常值处理等,可留待后续的DWD层进行处理。
随后,数据会进入根据主题建立各种数据模型的DWD层(Data Warehouse Detail)。每个主题对应着一种宏观的应用分析领域,此层将去除对分析无益的数据,并提供简明清晰的特定主题视图。明细事实数据和维表数据主要依据ODS层的数据进行加工生成,而公共指标汇总数据则基于维表数据和明细事实数据进行整合。
DWD层之下细分为几层,包括负责初步数据清洗与规范化的DWS层、提升数据明细层易用性的Data WareHouse Service层、以业务过程为核心的DWT数据主题层以及储存维度信息的维表层。
维度表作为与事实表相对应的表,它存储了维度的属性值并与事实表进行关联。维度表一般对应现实世界中的对象或概念,如日期表、地点表等。它们分为高基数维度数据和低基数维度数据,分别对应大量数据和较少的数据。
再往上,是服务于特定业务需求与应用场景的ABM层(Application Business Model)。此层将根据具体的业务需求和应用场景对数据进行进一步的分析和处理,如报表统计、分析报告、数据预测与推荐等。