数据仓库中的ODS DW DM理解

1. DW

1.1 简介

data warehouse(可简写为DW或DWH)数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”,而是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。比较流行的有:AWS Redshift, Greenplum, Hive等。

1.2 主要特点

  • 面向主题: 操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。如个人信用分析,面向这一主题,需要从多个不同的方面进行统计分析,从多个操作型信息系统中获取数据并进行分析才能得出结论。
  • 集成: 数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与融合,统一与综合之后才能进入数据仓库。在加工的过程中必须消除数据的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
  • 不可修改: 数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询;
  • 与时间相关: 数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。

1.3 与数据库的对比

数据仓库是专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势。数据库用于捕获和存储数据,例如记录事务的详细信息。

特性 数据仓库 事务数据库
适合的工作负载 分析、报告、大数据 事务处理
数据源 从多个来源收集和标准化的数据 从单个来源(例如事务系统)捕获的数据
数据捕获 批量写入操作通常按照预定的批处理计划执行 针对连续写入操作进行了优化,因为新数据能够最大程度地提高事务吞吐量
数据标准化 非标准化 Schema,例如星型 Schema 或雪花型 Schema 高度标准化的静态 Schema
数据存储 使用列式存储进行了优化,可实现轻松访问和高速查询性能 针对在单行型物理块中执行高吞吐量写入操作进行了优化
数据访问 为最小化 I/O 并最大化数据吞吐量进行了优化 大量小型读取操作

1.4 与数据集市的对比

数据集市是一种数据仓库,用于满足特定团队或业务部门(例如财务、营销或销售)的需求。它更小、更集中,并且可能包含最适合其用户社区的数据汇总。

特性 数据仓库 数据集市
范围 集中的多个整合主题领域 分散的特定主题领域
用户 组织级 某个社区或部门
数据源 多个来源 单个或多个来源,或数据仓库中已经收集的部分数据
大小 较大,可达数百 GB 到数 PB 较小,一般不超过数十 GB
设计 自上而下 自下而上
数据详细信息 完整且详细的数据 可能包含汇总数据

1.5 与数据湖的对比

与数据仓库不同,数据湖是所有数据(包括结构化和非结构化数据)的中央存储库。数据仓库利用针对分析进行了优化的预定义 Schema。数据湖中未定义 Schema,支持其他类型的分析,例如大数据分析、全文搜索、实时分析和机器学习。

特性 数据仓库 数据湖
数据 来自事务系统、运营数据库和业务线应用程序的关系数据 来自 IoT 设备、网站、移动应用程序、社交媒体和企业应用程序的非关系和关系数据
Schema 设计在数据仓库实施之前(写入型 Schema) 写入在分析时(读取型 Schema)
性价比 更快查询结果会带来较高存储成本 更快查询结果只需较低存储成本
数据质量 可作为重要事实依据的高度监管数据 任何可以或无法进行监管的数据(例如原始数据)
用户 业务分析师、数据科学家和数据开发人员 数据科学家、数据开发人员和业务分析师(使用监管数据)
分析 批处理报告、BI 和可视化 机器学习、预测分析、数据发现和分析

1.6 个人愚见:

数据分类.jpg

2.数据分层

2.1.原因

  • 清晰数据结构:每一个数据分层都有它的作用域,这样在使用表的时候能更方便地定位和理解。

  • 数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是一个能直接使用的数据集市,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。

  • 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。

  • 把复杂问题简单化。讲一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。

  • 屏蔽原始数据的异常。

  • 屏蔽业务的影响,不必改一次业务就需要重新接入数据。

数据分层自下到上依次为ODS,DW,DM。

2.2. ODS

Operation Data Store(ODS) 数据准备区。数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,也称为准备区。它们是后续数据仓库层加工数据的来源。

2.3. DW

Data Warehouse Detail(DWD)数据仓库明细层和 Data Warehouse Summary(DWS) 数据仓库汇总层,是业务层与数据仓库的隔离层,是最接近数据源中数据的一层,数据源中的数据进过ETL后装入本层。这一层主要解决一些数据质量问题和数据的完整度问题。DW层的表通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。

2.4. DM

又称数据集市层DM(date market),基于DW上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

你可能感兴趣的:(数据仓库中的ODS DW DM理解)