浅谈数据仓库的架构及其演变

一、数据仓库分层架构

数据仓库分层一般分为三层,分别为数据仓库ODS层(数据进出口贴源层)、CDM层(数据公共层)和ADS层(数据应用层)。

  1. ODS层 这是数据仓库的最底层,直接对接数据源系统,用来临时存储从业务系统抽取过来的原始数据,数据结构和粒度与源系统基本保持一致。其主要功能是作为数据进入数据仓库的缓冲区域,在这一层可以对数据进行简单的清洗和转换操作,比如去除明显的噪声数据、统一数据格式等,但不会进行复杂的数据处理。它为后续的数据处理提供了原始的数据基础,确保数据的完整性和准确性,方便在数据出现问题时进行追溯。

2.CDM层分为DWD明细层、DWS轻度汇总层和DIM维度层。

·DWD层中,需要将数据仓库ODS层的原样数据按照主题去建立相应的数据模型,对数据进行统一的清洗和一致性处理。

·DWS层,就会以分析对象为建模驱动,把DWD清理好的一些表进行跨关联,建立面向业务主题的大宽表模型,为应用层提供统一的计算口径和数据标准,提高效率。

·DIM层需要通过添加维度属性、关联维度等定义计算逻辑,完成属性定义的过程并建立一致的数据分析维度表。

  1. ADS层 ,根据业务需要来存放个性化的报表数据,可以直接为前端的报表提供查询和展现的服务。

二、数据仓库的发展演变

数据仓库的发展演变可以分为以下几个阶段:

1. 单一数据仓库 。在这个阶段,企业通常只有一个大型数仓,用于存储所有的企业数据。这种方式虽然能够提供全局视图,但是由于数据量过大、复杂度高,导致开发和维护成本较高。

2. 多维数据仓库 。在这个阶段,企业开始将数据按照不同的主题进行划分,并建立多个小型数仓。这种方式能够提高查询效率和灵活性,但是由于各个数仓之间缺乏集成和协作,会导致问题。

3. 集成式数据仓库 。在这个阶段,企业开始将多个小型数仓进行整合,并建立一个统一的、集成式的数据仓库。这种方式能够解决信息孤岛问题,并提供更加全面和准确的企业视图。

4. 实时数据仓库 。在这个阶段,企业开始将实时流式数据与批处理数据进行整合,并建立一个实时化的、可扩展的、高性能的实时数据仓库。这种方式能够满足企业对实时数据分析和决策的需求。

5. 云数据仓库 。在这个阶段,企业开始将数据仓库部署到云端,并利用云计算技术提供更加灵活、可扩展、高效的数据仓库服务。这种方式能够降低企业的IT成本,提高数据处理效率和安全性。

三、数据仓库构建步骤

构建数据仓库需要经过以下几个步骤:

  1. 需求分析 :明确业务需求和数据分析目标,确定数据仓库的范围和规模。

  2. 设计架构 :选择适合企业的数据仓库分层架构,包括数据源层、数据采集层、数据存储层和应用层等。

  3. 建设基础设施 :包括硬件设备、数据库管理系统、数据仓库ETL工具等。

  4. 实施数据仓库ETL过程 :将各种异构的数据源进行抽取、转换和加载,形成统一的数据仓库。

  5. 开发报表和分析工具 :根据业务需求开发相应的报表和分析工具,以支持企业决策。

  6. 测试和上线 :对整个系统进行测试,并逐步上线使用。

  7. 维护和优化 :对系统进行日常维护,并不断优化以满足不断变化的业务需求。

了解更多数据仓库与数据集成关干货内容请关注>>>FineDataLink官网

免费试用、获取更多信息,点击了解更多>>>体验FDL功能

相关推荐
陌上丨4 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56784 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw5 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30735 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
CRzkHbaXTmHw5 小时前
探索Flyback反激式开关电源的Matlab Simulink仿真之旅
大数据
数据知道5 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
七夜zippoe5 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥5 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
心疼你的一切5 小时前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
忆~遂愿5 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能