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

一、数据仓库分层架构

数据仓库分层一般分为三层,分别为数据仓库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功能

相关推荐
程序员侠客行20 分钟前
Spring事务原理详解 三
java·后端·spring·架构
浪九天2 小时前
Orcale、MySQL中参数类型的详解和运用场景(不带示例)
数据库·mysql·oracle
程序员阿鹏2 小时前
jdbc批量插入数据到MySQL
java·开发语言·数据库·mysql·intellij-idea
逸Y 仙X3 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
橘猫云计算机设计4 小时前
基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·django
2501_903238654 小时前
Spring Boot日志配置与环境切换实战
数据库·spring boot·后端·个人开发
梓沂4 小时前
审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空
数据库·sql·dba
caihuayuan44 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人4 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
Smile丶凉轩4 小时前
数据库面试知识点总结
数据库·c++·mysql