扫盲系列(3):数据仓库架构详解

文 | 商业智能BI相关文章 阅读次数:596 次浏览
2023-07-07 15:13:02

这是一张典型的数据仓库架构。按自下而上的顺序,分别为数据仓库ETL(Extract-Transform-Load)ODS(Operational Data Store)层CDM(Common Dimensional Model)层ADS(Application Data Store)层。其中CDM层主要包括DWD层(Data Warehouse Detail)和DWS层(Data Warehouse Summary)两部分

数据仓库分层

数据仓库架构图

1、数据仓库ETL/ELT

数据仓库ETL主要用于完成数据接入的过程,即从业务系统或其他数据源中提取数据,并进行数据清洗、转换和加载到目的地系统(如数据仓库)中的过程。该过程中,数据会经历抽取(Extract)、转换(Transform)和加载(Load)三个阶段,最终达到数据从源头流动到目标端的目的。

数据仓库ELT指的是将数据抽取出来后,直接进行加载,最后再进行数据转换的一种数据集成和处理方式。与传统的 ETL不同,ELT将数据的处理和加工过程转移到了数据仓库中,利用数据仓库的数据计算能力和分布式处理能力来处理和转换数据。

ETL层建设遇到的挑战

具体来说,数据抽取是指从源数据系统中提取数据到目标数据系统,一般可以通过现成的工具来完成,如Sqoop、Kettle等。数据转换是指将抽取的数据进行清洗、标准化、加工等操作。这里需要注意的是,对于非结构化或半结构化数据,由于数据格式多样化、标准化难度较大,因此可能需要花费一些时间进行数据清洗和处理。

FineDataLink是一款ETL工具,支持三十多种格式和结构的异构数据源,可以将这些异构数据源集成到一个统一的数据仓库中,并进行清洗、转换和分析,显着降低开发人员、数据分析师和研究人员的工作量,提高数据处理的效率和准确性,帮助企业更好地管理和分析数据。

fdl-ETL数据转换

FineDataLink的数据转换功能

最后,数据加载是将经过转换处理后的数据加载到目标系统中,一般也会采用现成的工具来完成,如Informatica、ODI等。

ETL流程图

2、数据仓库ODS层

数据仓库ODS层也称为操作数据源层,是数据仓库中的一个核心组成部分。该层主要用于保存原始数据完成数据积存通常反映了企业业务系统中的最新操作,同时也是进行数据仓库的基础。

数据仓库ODS层通常采用可靠的数据仓库ETL工具为数据仓库提供数据,以此使源数据和数据仓库之间保持同步。同时,数据仓库ODS层的数据被保存在磁盘中,直接体现了我们之前讲过的数据仓库的一个特性——非易失性(参见文章《扫盲系列(1):数据仓库之基本概述》),即在停机或崩溃的情况下,数据不会丢失。

非易失性

3、数据仓库CDM层

CDM层是指公共维度模型层,是数据仓库中最核心和最关键的一层。主要用于提供标准化、共享的维度模型,为数据分析提供便利。CDM层通常包括数据明细层(DWD)和数据汇总层(DWS)两个部分。

DWD层指数据明细层,通常接收数据仓库ODS层的原始数据,并进行清洗、标准化、维度退化、异常数据剔除等操作,进行统一处理,为数据分析提供支持。DWD层一般按照业务主题建模,包含多个维度和事实表,维度表可以用来描述业务数据的特征,而事实表则包含了关键数据指标(如销量、价格等)。

DWS层指数据汇总层,其主要作用是通过聚合和汇总,将DWD层中的数据按照主题进行汇总,形成宽表,进而提升数据分析性能。DWS层通常包含多个宽表,每个宽表都是由多个事实表和维度表经过聚合和分组运算生成的。DWS层中的宽表可以满足特定主题和不同维度的分析需求,减少了对其他表的操作,提升数据分析性能

CDM工作示意图

4、数据仓库ADS层

ADS层也称为数据应用层,其主要功能是保存结果数据,为外部系统提供查询接口,基于数据仓库的数据为企业提供增值应用,并将数据仓库的数据应用于企业决策、报表、分析、控制等领域。ADS层通常采用OLAP(Online Analytical Processing)技术,用于快速访问和查询数据。

ADS层一般包括多个宽表,用于支持与企业应用有关的查询、分析、报告、控制、决策等操作。这些宽表一般可以通过BI工具或自定义应用程序查询和访问,以满足企业的各种数据需求。为了提高访问和查询速度,ADS层通常使用数据索引、缓存和预聚合等技术。

有时为了更好地管理和维护数据仓库,可以将ADS层从数据仓库中独立出去,成为一个独立的数据集市层(Data Mart)。数据集市层专门为某一特定业务需求而建立,可以基于某一个特定的主题或者某个业务领域建模,以满足该领域的数据分析和查询需求。

ADS工作示意图

FineDataLink是一款低代码/高效率的ETL工具,同时也是一款数据集成工具,它可以帮助企业快速构建数据仓库,对数据进行管理、分析和使用,提高数据治理效率和质量。同时,帆软FDL也支持开放API和服务接口,可以与其他数据工具和系统进行整合和拓展。

相关文章:

扫盲系列(1):数据仓库之基本概述

扫盲系列(2):数据仓库之MPP架构&分布式架构

fdl-免费试用

FineDataLink更多介绍: https://www.finedatalink.com/

产品体验

相关内容

目录
立即体验 立即体验

商务咨询

在线咨询
专业顾问帮您解答问题

电话咨询

技术问题

投诉入口

微信咨询

返回顶部