当前位置: 代码网 > it编程>数据库>MsSqlserver > 数据仓库数据分层详解

数据仓库数据分层详解

2024年07月31日 MsSqlserver 我要评论
原始数据层(Raw Data Layer):这是数仓中最底层的层级,用于存储从各个数据源获取的原始数据。这些数据通常是未经处理和清洗的,包括来自数据库、日志文件、传感器等的数据。原始数据层的目的是保留数据的完整性和可追溯性,以备后续的数据处理和分析。数据清洗层(Data Cleansing Layer):该层对原始数据进行清洗、去重、转换和标准化等处理。在这一层中,数据质量和一致性是关键考虑因素。清洗后的数据可以更好地支持后续的数据分析和建模。集成层(Integration Layer):这一层是将来自

数据仓库中的数据分层是一种重要的数据组织方式,其目的是为了在管理数据时能够对数据有一个更加清晰的掌控。以下是数据仓库中的数据分层详解:

  1. 原始数据层(raw data layer):这是数仓中最底层的层级,用于存储从各个数据源获取的原始数据。这些数据通常是未经处理和清洗的,包括来自数据库、日志文件、传感器等的数据。原始数据层的目的是保留数据的完整性和可追溯性,以备后续的数据处理和分析。
  2. 数据清洗层(data cleansing layer):该层对原始数据进行清洗、去重、转换和标准化等处理。在这一层中,数据质量和一致性是关键考虑因素。清洗后的数据可以更好地支持后续的数据分析和建模。
  3. 集成层(integration layer):这一层是将来自不同数据源的数据进行整合和集成的层级。数据被转换为一致的格式和结构,以便于跨数据源的查询和分析。集成层通常包括数据仓库和数据集市等组件,数据被组织为维度和事实表的结构,以支持多维分析和报告。

此外,数据仓库中还有更细化的分层,例如数据明细层(dwd)、数据中间层(dwm)和数据服务层(dws)等。这些分层使得数据仓库的设计更加复杂和精细,能够更好地满足不同的数据需求。

1、ods层

数据仓库ods层,即操作型数据存储层(operational data store),是数据仓库的第一层,主要用来接收和存储数据源系统中的数据,同时保证数据的准确性和完整性。

数据源中的数据,经过etl(即抽取、转换、装载)过程后,装入本层。这一层中的数据,大多是按照源业务系统的分类方式而分类的。ods层会对数据进行简单的清洗、去重、格式转换等操作,为后续的数据处理提供基础数据。由于该层是最接近数据源的,因此不建议对该层数据做过多的数据清洗工作。

此外,ods层的作用还包括支持数据仓库etl过程,将ods层中的数据转换为适合dw层使用的格式;支持历史数据追溯,以便用户进行历史趋势分析;以及减轻源系统负担,提高系统性能。

2、dwd层

数据仓库dwd层,即数据仓库明细层(data warehouse detail),是数据处理的核心层,其主要任务是将ods层中的数据进行清洗、加工、集成、聚合等操作,构建出符合业务需求的数据模型。

dwd层的主要目的是将业务数据库中的数据进行清洗和整合,形成相应的事实表。这些事实表是数据仓库维度建模的核心,紧密围绕业务过程来设计。dwd层会对业务方的整个业务过程进行分析,明确关键的业务步骤,并在满足业务需求的前提下,尽可能设计出更通用的模型。

在dwd层中,主要的事实表有三种类型:事务事实表、周期快照事实表和累积快照事实表。这些事实表为后续的决策层提供了精细化的数据支持。

3、dwb层

数据仓库dwb层,即数据仓库基础层(data warehouse basic),位于数据仓库架构的中间位置,也是数据仓库中最核心的一层。

该层的主要任务是对dwd层中的数据进行进一步的加工和整合,以形成适合于决策分析的数据结构和粒度。在dwb层中,数据被进一步处理以满足不同决策分析需求的数据展示需求。这一层主要包括抽取、转换、加载和归并四个部分,需要对数据进行过滤、排序和校验等处理,以消除重复值并确保数据格式的统一性。同时,dwb层还可以根据不同的维度来建立多维数据模型,以支持灵活的数据查询和分析。

4、dws层

数据仓库dws层,即数据仓库服务层(data warehouse service),是数据仓库架构中的关键组成部分,主要用于数据存储、数据处理、数据管理和数据查询。它是数据仓库的核心部分,具备高效的数据管理和存储能力。

在dws层中,数据通常是按照主题和业务领域进行组织,以方便数据分析和查询。该层主要用于存储和管理数据,通过etl操作等方式对数据进行加工和处理,为用户提供实时数据服务。此外,dws层还可以提供各种类型的服务,如数据查询、统计、报表、分析等,以满足业务决策的需求。

从数据存储形式来看,dws层主要采用列式存储方式,这种方式适合于批量查询和olap(联机分析处理)操作。而与之相对的是,ads层(数据应用服务层)则主要采用行式存储方式,更适合于实时查询和oltp(联机事务处理)操作。

5、ads层

数据仓库ads层,即应用数据服务层(application data store),是数据仓库架构的顶层,主要用于为各种应用提供数据服务。

ads层一般以业务或者部门来划分库,可以为各个业务线创建一个数据库。该层的数据是基于底层数据(如dwd层或dws层的数据)生成的业务报表数据,可以直接作为数据仓库的输出,导出到外部的操作型系统中,如mysql、hbase等。在数据仓库的分层架构中,ads层是数据应用的最后一层,提供的是结果类型的数据,这些数据可以直接用于展示或进一步的分析。

同时,ads层的数据抽离分析程度最高,因此是需求最明确的一层。它根据业务需求来决定数据维度和结果,以满足各种应用的数据需求。

数据仓库分层的主要优势包括:

  1. 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题。
  2. 减少重复计算:规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。
  3. 隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com