大数据数据仓库架构设计基础概念和设计思想整理

1、ODS层
ODS 全称是 Operational Data Store,通常对应的是操做性数据存储,直接面向主题的,也叫数据运营层,一般是最接近数据源中数据的一层,数据源中的数据,通过抽取、洗净、传输,也就是一般说的 ETL 以后的数据存入本层。本层的数据,整体上大可能是按照源头业务系统的分类方式而分类的。可是,这一层面的数据却不等同于原始数据。在源数据装入这一层时,要进行诸如去噪(例若有一条数据中人的年龄是 300 岁,这种属于异常数据,就须要提早作一些处理)、去重(例如在我的资料表中,同一 ID 却有两条重复数据,在接入的时候须要作一步去重)、字段命名规范等一系列操做。html

ODS包括的是当前或接近当前的数据,ODS反映的是当前业务条件的状态,ODS的设计与用户或业务的须要是有关联的。数据库

ODS中的数据具备如下4个基本特征:
① 面向主题的:进入ODS的数据是来源于各个操做型数据库以及其余外部数据源,数据进入ODS前必须通过 ETL过程(抽取、清洗、转换、加载等)。数组

② 集成的:ODS的数据来源于各个操做型数据库,同时也会在数据清理加工后进行必定程度的综合。数据结构

③ 可更新的:能够联机修改。这一点区别于数据仓库。架构

④ 当前或接近当前的:“当前”是指数据在存取时刻是最新的,“接近当前”是指存取的数据是最近一段时间获得的。分布式

ODS的目的:
(1)实现企业级的OLTP操做:spa

传统的操做型数据库每每只存放企业某一类业务或者某一个部门的数据,所以没法面向企业全局数据的OLTP,而ODS能够实现。由于ODS的数据是面向整个企业进行集成汇总的,克服了原来面向应用的操做型数据库数据分散的缺陷。设计

(2)实现即时的OLAP操做:htm

在数据仓库上进行OALP,每每因为数据量十分庞大而须要较长的时间。而在企业实际应用中,对于一些较低层次的决策,每每并不须要太多的历史数据,可能只须要参考当前的或者接近当前的数据就能够完成,而且要求具备较快的响应时间,所以数据仓库显然没法知足这样的要求,可是ODS能够实现。ODS中不只有面向企业全局的细节数据和汇总数据,并且规模比数据仓库小,具备较强的实时响应能力。blog

数据分析的概念:

OLTP:On-Line Transaction Processing联机事务处理过程(OLTP),也称为面向交易的处理过程,其基本特征是前台接收的用户数据能够当即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操做快速响应的方式之一。

OLAP:OLAP展示在用户面前的是一幅幅多维视图。

联机分析处理的概念:

维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。

维的层次(Level):人们观察数据的某个特定角度(即某个维)还能够存在细节程度不一样的各个描述方面(时间维:日期、月份、季度、年)。

维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。

度量(Measure):多维数组的取值.

OLAP的基本多维分析操做有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。

钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据归纳到高层次的汇总数据,或者减小维数;而Drill-down则相反,它从汇总数据深刻到细节数据进行观察或增长新维。

切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。若是剩余的维只有两个,则是切片;若是有三个或以上,则是切块。

旋转:是变换维的方向,即在表格中从新安排维的放置(例如行列互换)。

OLAP是以数据仓库为基础的,其最终数据来源与OLTP同样均来自底层的数据库系统,但因为两者面对的用户不一样,OLTP面对的是操做人员和低层管理人员,OLAP面员和高层管理人员.

2、DW数据仓库层

数据仓库层(DW,Data Warehouse),是数据仓库的主体.在这里,从 ODS 层中得到的数据按照主题创建各类数据模型。是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

数据仓库是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而建立,对多样的业务数据进行筛选与整合。它为企业提供必定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。

数据仓库存储是一个面向主题(移动的用户分析也可作为一个主题)的,反映历史变化数据,用于支撑管理决策。

特征:

1)、效率足够高,要对进入的数据快速处理。

2)、数据质量高,数据仓库是提供不少决策须要的数据支撑,DW的数据应该是惟一的具备权威性的数据,企业的全部系统只能从DW取数据,因此须要按期对DW里面的数据进行质量审,保证DW里边数据的惟1、权威、准确性。

3)、扩展性,企业业务扩展和下降企业建设数据仓库的成本考虑

4)、面向主题,数据仓库中的数据是按照必定的主题域进行组织的,每个主题对应一个宏观的分析领域,数据仓库排除对决策无用的数据,提供特定主题的简明视图。

5)、数据仓库主要提供查询服务,而且须要查询可以及时响应

6)、DW的数据也是只容许增长不容许删除和修改,数据仓库主要是提供查询服务,删除和修改在分布式系统.

3、DW和ODS的区别

(1)存放的数据内容不一样:

  • ODS中主要存放当前或接近当前的数据、细节数据,能够进行联机更新。
  • DW中主要存放细节数据和历史数据,以及各类程度的综合数据,不能进行联机更新。
  • ODS中也能够存放综合数据,但只在须要的时候生成。

(2)数据规模不一样:

因为存放的数据内容不一样,所以DW的数据规模远远超过ODS。

(3)技术支持不一样:

ODS须要支持面向记录的联机更新,并随时保证其数据与数据源中的数据一致。

DW则须要支持ETL技术和数据快速存取技术等。
(4)面向的需求不一样:

ODS主要面向两个需求:一是用于知足企业进行全局应用的须要,即企业级的OLTP和即时的OLAP;二是向数据仓库提供一致的数据环境用于数据抽取。

DW主要用于高层战略决策,供挖掘分析使用。

(5)使用者不一样:
ODS主要使用者是企业中层管理人员,他们使用ODS进行企业平常管理和控制。

DW主要使用者是企业高层和数据分析人员。

本文做者:张永清,转载请注明:http://www.javashuo.com/article/p-feqbkvfg-b.html

4、DM数据集市

数据集市,以某个业务应用为出发点而创建的局部DW,DW只关心本身须要的数据,不会全盘考虑企业总体的数据架构和应用,每一个应用有本身的DM。还有一种DM的叫法,就是DM(Data Mining):数据挖掘,又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。

数据流向的过程通常以下:

5、 Inmon

Inmon 模式从流程上看是自顶向下的,即从数据源到数据仓库再到数据集市的(先有数据仓库再有数据市场)一种瀑布流开发方法。对于Inmon模式,数据源每每是异构的,好比从自行定义的爬虫数据就是较为典型的一种,数据源是根据最终目标自行定制的。这里主要的数据处理工做集中在对异构数据的清洗,包括数据类型检验,数据值范围检验以及其余一些复杂规则。在这种场景下,数据没法从stage层直接输出到dm层,必须先经过ETL将数据的格式清洗后放入dw层,再从dw层选择须要的数据组合输出到dm层。在Inmon模式中,并不强调事实表和维度表的概念,由于数据源变化的可能性较大,须要更增强调数据的清洗工做,从中抽取实体-关系。

 

 

这个体系架构,左边是操做型系统或者事务系统,里面包括不少种系统,有数据库在线系统,有文本文件系统…等等。而这些系统的数据通过ETL的过程,加载数据到企业数据仓库中,ETL的过程是整合不一样系统的数据,通过整合,清洗和统一,所以咱们能够称之为数据集成

6、 Kimball

Kimball的维度数据仓库是基于维度模型创建的企业级数据仓库,它的架构有的时候能够称之为“总线体系结构”,Kimball 模式从流程上看是是自底向上的,即从数据集市到数据仓库再到数据源(先有数据集市再有数据仓库)的一种敏捷开发方法。对于Kimball模式,数据源每每是给定的若干个数据库表,数据较为稳定可是数据之间的关联关系比较复杂,须要从这些OLTP中产生的事务型数据结构抽取出分析型数据结构,再放入数据集市中方便下一步的BI与决策支持。

 

Kimball和Inmon是两种主流的数据仓库方法论,分别由 Ralph Kimbal大神 和 Bill Inmon大神提出,在实际数据仓库建设中,业界每每会相互借鉴使用两种开发模式,这两种的相同点以下:

一、都是假设操做型系统和分析型系统是分离的;

2,数据源(操做型系统)都是众多;

三、ETL整合了多种操做型系统的信息,集中到一个企业数据仓库。

不一样点:

最大的不一样就是企业数据仓库的模式不一样,inmon是采用第三范式的格式,而kimball则采用了多维模型–星型模型,而且仍是最低粒度的数据存储。其次是,维度数据仓库能够被分析系统直接访问,固然这种访问方式毕竟在分析过程当中不多使用。最后就是数据集市的概念有逻辑上的区别,在kimball的架构中,数据集市有维度数据仓库的高亮显示的表的子集来表示。
有的时候,在kimball的架构中,有一个可变通的设计,就是在ETL的过程当中加入ODS层,使得ODS层中能保留第三范式的一组表来做为ETL过程的过分。可是这个思想,Kimball看来只是ETL的过程辅助而已。
 
特性对比:
 

 

优缺点对比:

  

未完待续
相关文章
相关标签/搜索