数据仓库中ODS、DW与DM之间关系

合集下载

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念

[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念前⾔:不是做数仓的,但是也需要了解数仓的知识。

其实分层好多因⼈⽽异,问了同事好多分层的区别也不是很清晰。

所以后续有机会还是跟数仓的同事碰⼀下吧~⼀. 各种名词解释1.1 ODS是什么?ODS层最好理解,基本上就是数据从源表拉过来,进⾏etl,⽐如mysql 映射到hive,那么到了hive⾥⾯就是ods层。

ODS 全称是 Operational Data Store,操作数据存储.“⾯向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的⼀层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的 ETL 之后,装⼊本层。

本层的数据,总体上⼤多是按照源头业务系统的分类⽅式⽽分类的。

但是,这⼀层⾯的数据却不等同于原始数据。

在源数据装⼊这⼀层时,要进⾏诸如去噪(例如有⼀条数据中⼈的年龄是300 岁,这种属于异常数据,就需要提前做⼀些处理)、去重(例如在个⼈资料表中,同⼀ ID 却有两条重复数据,在接⼊的时候需要做⼀步去重)、字段命名规范等⼀系列操作。

1.2 数据仓库层DW?数据仓库层(DW),是数据仓库的主体.在这⾥,从 ODS 层中获得的数据按照主题建⽴各种数据模型。

这⼀层和维度建模会有⽐较深的联系。

细分:1. 数据明细层:DWD(Data Warehouse Detail)2. 数据中间层:DWM(Data WareHouse Middle)3. 数据服务层:DWS(Data WareHouse Servce)1.2.1 DWD明细层?明细层(ODS, Operational Data Store,DWD: data warehouse detail)概念:是数据仓库的细节数据层,是对STAGE层数据进⾏沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进⾏集中,明细层跟stage层的粒度⼀致,属于分析的公共资源数据⽣成⽅式:部分数据直接来⾃kafka,部分数据为接⼝层数据与历史数据合成。

数据仓库开发规范

数据仓库开发规范

01数据层次的划分具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑,下面我们看一下常见的分层•ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。

它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。

其主要作用是把基础数据引入到数仓。

•CDM:Common Data Model,公共维度模型层,又细分为DWD和DWS。

它的主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。

▪DWD:Data Warehouse Detail,明细数据层。

▪DWS:Data Warehouse Summary,汇总数据层。

•ADS:Application Data Service,应用数据层。

02数据分类架构该数据分类架构在ODS层分为三部分:数据准备区、离线数据和准实时数据区。

在进入到CDM层后,由以下几部分组成:•公共维度层:基于维度建模理念思想,建立整个企业的一致性维度。

•明细粒度事实层:以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。

您可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当的冗余,即宽表化处理。

•公共汇总粒度事实层:以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段来物理化模型。

03数据划分及命名约定请根据业务划分数据并约定命名,建议针对业务名称结合数据层次约定相关命名的英文缩写,这样可以给后续数据开发过程中,对项目空间、表、字段等命名做为重要参照。

数据划分•按业务划分:命名时按主要的业务划分,以指导物理模型的划分原则、命名原则及使用的ODS project。

•按数据域划分:命名时按照CDM层的数据进行数据域划分,以便有效地对数据进行管理,以及指导数据表的命名。

专题数据库建设方案

专题数据库建设方案

一,数据仓库的数据模型1. 数据源数据源,顾名思义就是数据的来源,互联网公司的数据来源随着公司的规模扩张而呈递增趋势,同时自不同的业务源,比如埋点采集,客户上报等。

2. ODS层数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS(Operation Data Store)层, ODS层也经常会被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度建模生成的事实表和维度表层,以及基于这些事实表和明细表加工的汇总层数据)加工数据的来源,同时ODS层也存储着历史的增量数据或全量数据。

3. DW层据仓库明细层(Data Warehouse Detail ,DWD)和数据仓库汇总层(Data Warehouse Summary, DWS)是数据仓库的主题内容。

DWD和DWS层的数据是ODS 层经过ETL清洗、转换、加载生成的,而且它们通常都是基于Kimball的维度建模理论来构建的,并通过一致性维度和数据总线来保证各个子主题的维度一致性。

4. DWS层应用层汇总层主要是将DWD和DWS的明细数据在hadoop平台进行汇总,然后将产生的结果同步到DWS数据库,提供给各个应用。

二,数据采集数据采集的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。

比较常见的就是用户行为数据的采集先做sdk埋点,通过kafka实时采集到用户的访问数据,再用spark做简单的清洗,存入hdfs作为数据仓库的数据源之一。

三,数据存储随着公司的规模不断扩张,产生的数据也越来越到,像一些大公司每天产生的数据量都在PB级别,传统的数据库已经不能满足存储要求,目前hdfs是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。

在离线计算方面,也就是对实时性要求不高的部分,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC/PARQUET文件存储格式;非常方便的SQL 支持,使得Hive在基于结构化数据上的统计分析远远比MapReduce要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;而在实时计算方面,flink是最优的选择,不过目前仅支持java跟scala开发。

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(D W)的区别与联系文章背景:相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。

本文主要从下面两类关系来叙述上面三者的关系:1. 数据库(DB)和数据仓库(DW)的区别与联系2. 操作数据存储(ODS)和数据仓库(DW)的区别与联系数据库与数据仓库的区别与联系数据库与数据仓库基础概念:数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Proces sing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP和OLAP概念补充:数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction proc essing)、联机分析处理OLAP(On-Line Analytical Processing)。

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。

举一个具体的例子:(转自知乎作者:陈诚),个人觉得例子描述的很清晰举个最常见的例子,拿电商行业来说好了。

基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。

第一阶段,电商早期启动非常容易,入行门槛低。

找个外包团队,做了一个可以下单的网页前端+ 几台服务器+ 一个MySQL,就能开门迎客了。

这好比手工作坊时期。

第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。

数据建模目前有两种比较通用的方式

数据建模目前有两种比较通用的方式

数据建模目前有两种比较通用的方式,分别是?()
A、通用建模
B、专属建模
C、范式建模
D、维度建模
C和D
一般常规的数据仓库层级结构可分为:ods、dw(默认为汇总数据层,也可在细分为dwd(明细)与dw(汇总)两层)、dm共三层:
ods层:称为接口层或近源数据层,表结构与源系统表结构高度相似,通常在ods 层主要会做字段的筛选,枚举值转换,编码统一,异常&缺失数据处理等操作。

dw层:称为中间层,按主题建模(域->主题)的明细数据层,数据粒度与ods 层一致。

dm层:称为数据集市层,集市层是按照业务主题、分主题构建出来的、面向特定部门或人员的数据集合。

维度建模源于Kimball提出的总线式的自下而上(DM-DW)的数据仓库架构。

特点:
1.模型结构简单,星型模型为主;
2.开发周期短,能够快速迭代;
3.维护成本较高;
范式建模源于Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。

特点:
1.同一份数据只存放在一个地方,因此只能从一个地方获取,没有数据冗余,保证了数据一致性;
2.解耦(系统级与业务级),方便维护;
3.开发周期较长,开发成本较高;
当下的数据仓库模型架构设计中,dw层通常会采用范式建模,并且可以根据实际情况允许存在一些冗余。

dm层通常会采用维度建模,因为采用维度建模构建出来的数据模型更加符合普通人的认知、易于被普通人所理解,从而有利于数据的推广使用。

数据仓库规范

数据仓库规范

数据仓库规范一.数据仓库层次结构规范1.1 基本分层结构系统的信息模型从存储的内容方面可以分为,STAGE接口信息模型、ODS/DWD信息模型,MID信息模型、DM信息模型、元数据信息模型。

在各个信息模型中存储的内容如下描述:1) SRC接口层信息模型:提供业务系统数据文件的临时存储,数据稽核,数据质量保证,屏蔽对业务系统的干扰,对于主动数据采集方式,以文件的方式描述系统与各个专业子系统之间数据接口的内容、格式等信息。

与该模型对应的数据是各个专业系统按照该模型的定义传送来的数据文件。

STAGE是生产系统数据源的直接拷贝,由ETL过程对数据源进行直接抽取,在格式和数据定义上不作任何改变。

与生产系统数据的唯一不同是,STAGE层数据具有时间戳。

STAGE层存在的意义在于两点:(1)对数据源作统一的一次性获取,数据仓库中其他部分都依赖于STAGE层的数据,不再重复进行抽取,也不在生产系统上作运算,减小生产系统的压力;(2)在生产系统数据已经刷新的情况下,保存一定量的生产系统的历史数据,以便在二次抽取过程中运算出错的情况下可以进行回溯。

2) ODS/DWD层(对应原模型的ODS和DW层)信息模型:简称DWD层是数据仓库的细节数据层,是对STAGE层数据进行沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进行集中。

为企业进行经营数据的分析,系统将数据按分析的主题的形式存放,跟STAGE层的粒度一致,属于分析的公共资源。

3) MID 信息模型:轻度综合层是新模型增加的数据仓库中DWD层和DM层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计。

轻度综合层与DWD的主要区别在于二者的应用领域不同,DWD的数据来源于生产型系统,并为满足一些不可预见的需求而进行沉淀;轻度综合层则面向分析型应用进行细粒度的统计和沉淀。

4) DM信息模型:为专题经营分析服务,系统将数据按分析的专题组织成多维库表的形式存放,属于分析目标范畴的数据组织与汇总,属于分析的专有资源。

数据数据价值应用的过程

数据数据价值应用的过程

BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。

简单讲就是业务、数据、数据价值应用的过程。

用图解的方式可以理解为下图:传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程。

如何实现Business Intelligence analyse的过程,从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。

上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。

二、BI的诞生随着IT技术的进步,传统的业务交易系统有了长足的发展,已经实现了业务信息化,每一笔业务数据都记录在数据库中,星转斗移,累积了以TB为计量单位的业务数据记录。

也许你会问:这么多数据,占用了很多存储设备,耗费存储成本,却又不经常访问,留着它有什么用处?可以给你肯定的回答,留着这些历史数据意义巨大,挖掘业务的规律、支持决策。

典型的案例有“尿片和啤酒”的故事,尿片和啤酒本来是两样不相干的东西,可是,有人就发现,星期五在超市里购物的,购买尿片的年轻父亲中有30%~40%的人同时购买啤酒。

原来,星期五年轻的父亲购买尿片时,还会为自己捎带买啤酒,因为,星期五是各家电视台转播橄榄球赛的时间,于是,超市老板们就把尿片和啤酒捆绑销售获得了巨大成功。

这个故事成了一个利用数据挖掘商业价值最大化的神话。

数据仓库体系规划及实施流程

数据仓库体系规划及实施流程

数据仓库体系规划及实施流程⼀、前⾔数仓规划是数仓建设的蓝图,涵盖从需求分析开始到最终的数仓评估验收整个环境;数仓规划之所以重要,是因为它是描述了数据流动的概念性框架,为元数据管理奠定了基础,对数据加⼯过程的理解、数仓建设的交流分享、数据的使⽤和问题排查、数仓健康度的评估都提供了极⼤的帮助。

需要强调的是本节是从宏观上描述数仓的框架,具体到数据模型的细节对⽐、存储选型和管理、接⼊数据源管理等数仓建设的周边在本节不涉及。

通过本节的阅读,你将了解到以下知识:从业务矩阵的设计(宏观、微观)、横向的分层、纵向的分线到主题划分等⾓度解构数仓;数仓建设的实施流程。

⼆、规划1、矩阵分宏观和微观来看,宏观的是公司的整体业务布局,微观的是产品的业务过程布局和业务过程的维度分解交叉信息。

2、宏观矩阵宏观矩阵描述的是公司的业务线和对应的数据状况,其⾏和列⼀般分别对应着业务主题和数据主题。

1)业务主题对应着公司的业务线布局,⽐如电商、游戏、视频、应⽤商店、新闻资讯、浏览器等。

2)数据主题根据抽象的程度和视⾓有不同的取法:⼀般取业务线中⽤户对内容的消费或者相关⾏为,⽐如曝光、点击、消费、播放、分享等,对这些⾏为的划分⼜可分为原⽣⾏为主题(通⽤和业务相关)、衍⽣⾏为主题(留存、活跃、流失等),这种划分⽅法更多的取⾃数据的底层和公共层,因为⾼层的数据都是多⾏为的汇总。

对数据主题的另外划分⽅式参加分主题部分,这种划分⽅法更多的取⾃数据的⾼层。

引⾃《数据仓库实践之业务数据矩阵的设计-⽊东居⼠》3、微观矩阵微观矩阵描述的是主题和对应的维度关系,下⾯以常见的内容消费和⽤户主题两个维度来看微观矩阵的规划。

-w698业务过程描述的⼀般是对内容的消费抽象,可以是原⼦的,也可以是抽象的,⽐如卡⽚曝光维度的划分可以从以下两个⼤⽅向⼊⼿:通⽤标识维度(版本、机型、渠道、⽹络、时间等);业务过程维度:消费者等级、消费位置、消费路径、其它等。

4、分层ODS->DW->DM->DA(ADS)层是如何划分的,分层的原因(引⾃《⼀种通⽤的数据仓库分层⽅法-⽊东居⼠》):清晰数据结构:每⼀个数据分层都有它的作⽤域和职责,在使⽤表的时候能更⽅便地定位和理解;减少重复开发:规范数据分层,开发⼀些通⽤的中间层数据,能够减少极⼤的重复计算;统⼀数据⼝径:通过数据分层,提供统⼀的数据出⼝,统⼀对外输出的数据⼝径;复杂问题简单化:将⼀个复杂的任务分解成多个步骤来完成,每⼀层解决特定的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据仓库中ODS、DW与DM之间关系
在数据仓库架构中ODS(操作数据存储)、DW(数据仓库)和DM(数据集市)是不同的层次。

它们之间有明显的区别,并且相互协作来支持数据管理和分析,具体详见下图:
接下来分别对ODS、DW和DM进行详细介绍。

ODS介绍
ODS是操作性数据(Operational Data Store) 简称:操作性
数据存储。

ODS是数据仓库中的一个中间层,它主要用于将源系统的数据进行整合和转换,但并不进行复杂的分析或聚合。

ODS 旨在保留源系统数据的完整性,支持实时或接近实时的数据访问和操作。

它通常包含原始数据和经过简单处理的数据。

特征如下:
●ODS直接存放从业务抽取过来的数据,这些数据从结构和
数据上与业务系统保持一致,降低了数据抽取的复杂
性。

●转移一部分业务系统的细节查询功能,因为ODS存放的
数据与业务系统相同,原来有业务系统产生的报表,现
在可以从ODS中产生。

●完成数据仓库中不能完成的功能,ODS存放的是明细数
据,数据仓库DW或数据集市DM都存放的是汇聚数据,
ODS提供查询明细的功能。

●ODS数据只能增加不能修改,而且数据都是业务系统原样
拷贝,所以可能存在数据冲突的可能,解决办法是为每
一条数据增加一个时间版本来区分相同的数据。

DW介绍
DW是数据仓库(Data Warehouse)的简称:DW是一个经过专门处理和优化的数据存储区域,用于支持复杂的分析、查询和报告。

DW采用了不同的数据模型(如星型模型或雪花模型)和聚合
技术,以提供快速的决策支持和报表功能。

DW具有历史数据存储、集成和标准化数据等特点,可以满足企业级的数据分析需求。

特征如下:
●效率足够高,要对进入的数据快速处理。

●数据质量高,数据仓库是提供很多决策需要的数据支
撑,DW的数据应该是唯一的具有权威性的数据,企业的
所有系统只能从DW取数据,所以需要定期对DW里面的
数据进行质量审,保证DW里边数据的唯一、权威、准确
性。

●扩展性,企业业务扩展和降低企业建设数据仓库的成本
考虑
●面向主题,数据仓库中的数据是按照一定的主题域进行
组织的,每一个主题对应一个宏观的分析领域,数据仓
库排除对决策无用的数据,提供特定主题的简明视图。

●数据仓库主要提供查询服务,并且需要查询能够及时响

●DW的数据也是只允许增加不允许删除和修改,数据仓库
主要是提供查询服务,删除和修改在分布式系统.
DM介绍
DM是数据集市(Data Mart)的简称:DM是在数据仓库的基础
上创建的另一个层次,用于进行更高级的分析和挖掘。

DM主要用于发现隐藏在数据中的模式、趋势和关联规则,以支持预测性分析和业务智能。

DM通常基于DW中的聚合数据,并使用数据挖掘技术(如聚类、分类、关联规则等)来提取有价值的信息。

特征:
●DM结构清晰,针对性强,扩展性好,因为DM仅仅是单对
一个领域而建立,容易维护修改
●DM建设任务繁重,公司有众多业务,每个业务单独建立
表。

●DM的建立更多的消耗存储空间,单独一个DM可能数据量
不大,但是企业所有领域都建立DM这个数据量就会增加
多倍。

ODS、DW、DM三者间关系
1.ODS作为数据的中转站,从源系统中收集、整合和转换数据,并
将处理后的数据加载到DW中。

2.DW作为一个中央存储库,从ODS中获取数据,并进行优化、聚
合和组织,以支持高效的查询和分析。

DW还可以定期从ODS中更新数据,确保数据的一致性和完整性。

3.DM基于DW中的数据进行更高级的分析和挖掘。

DM可以从DW中
获取已聚合的数据,并运用数据挖掘技术来发现模式、预测趋势和挖掘业务洞察。

举例说明
假设一个电子商务公司有一个订单管理系统,需要分析销售数据来支持业务决策。

在这个例子中:
1.ODS层会从订单管理系统中提取原始数据并进行清洗、转
换,然后将结果加载到ODS中。

2.DW层会从ODS中获取数据,并将其按照一定的数据模型
进行聚合和组织,以支持快速的查询、分析和报告。


如,DW可以将销售订单数据按照不同的维度(如时间、
地区、产品类别)进行汇总,并计算销售额和利润等指
标。

3.DM层会从DW中获取已聚合的数据,应用数据挖掘算法来
识别销售趋势、预测需求、发现潜在的交叉销售机会
等。

例如,DM可以使用关联规则挖掘,找出经常一起购
买的产品组合,以便进行销售推荐或优化产品布局。

内容总结
数据仓库的整理架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW
(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。

相关文档
最新文档