Oracle数据仓库博客(转,学)

数据仓库之二 数据仓库设计--Kimball方法

本文介绍的是数据仓库设计的Kimball方法,即多维模型;关系模型,即Inmon方法参见(四)

多维数据模型

-方体:数据汇总。方体是数据,方体的维度即各个维表,方体的值即事实表的度量;星型图则是事实表与维表的组织结构,与数据无关。
原语:

  • 立方体定义(事实表):
    define cube <cube_name> [<dimension_list>]:<measure_list>

  • 维定义(维表):
    define dimension <dimension_name> as (<attribute_or_subdimension_list>)

度量

根据所用的聚集函数分为三类:

  • 分布的--一个聚集函数是分布的,如果它能用如下分布方式进行计算:设数据划分为n个集合,将函数用于每个划分,得到n个聚集值;再将函数用于前述n个聚集值得到的结果与将函数用于整个数据集(不划分)得到的结果一样,则该函数可以用分布方式计算。一个度量是分布的,如果它可以用分布聚集函数得到。如count(),sum(),min(),max()都是分布聚集函数。

  • 代数的--如avg(),min_N(),max_N(),standard_deviation()都是代数聚集函数。

  • 整体的--如median(),mode(),rank()都是。

多维数据库模式

星型模式;雪花模式;事实星座模式(多个事实表共享维表)

数据仓库设计

典型的数据仓库设计过程
-选取待建模的商务处理, 例如, 订单, 发票, 库存等.
-选取商务处理的粒度, 例如,单个事务、一天的快照等
-选取用于每个事实表记录的, 如,时间、商品、顾客、供应商、仓库、事务类型和状态 等
-选取将安放在事实表中的度量. 典型的度量是可加的数值量, 如dollars_sold和units_sold

数据仓库设计步骤

  1. 概念模型设计;
    概念模型最常用的是E-R法(实体-联系法,Inmon支持这种方法),使用E-R图作为描述工具。另一种方法是Kimball支持的多维模型。

此步骤主要完成的工作是:(1)界定系统边界;(2)确定主要的主题域及其内容。

例如,商场的边界可以界定为包含销售子系统、采购子系统、库存子系统在内的集合。在此基础上,确定三个基本主题:顾客、供应商、商品。

  1. 技术准备工作;
    本阶段工作:技术评估,技术环境准备。

成果:技术评估报告,软硬件配置方案,系统(软硬件)总体设计方案。

  1. 逻辑模型设计;
    数据仓库的逻辑模型描述了数据仓库的主题的逻辑实现,即每个主题所对应的关系表的关系模式的定义。

本阶段主要工作:(1)粒度层次划分;(2)数据分割策略;(3)记录系统定义;(4)关系模式定义。

  1. 物理模型设计;
    主要工作:(1)确定存储结构;(2)确定索引结构;(3)确定存放位置;(4)确定存储分配。

  2. 数据仓库生成;
    主要工作:(1)设计接口;(2)数据装入。

接口是指将操作性环境下的数据装载进入数据仓库环境,需要在两个不同环境的记录系统之间建立一个接口。

  1. 数据仓库运行与维护
    包括:(1)建立DSS应用;(2)理解需求,改善和完善系统,维护数据仓库。

DSS应用开发的步骤:确定所需的数据、编程抽取数据、合并数据、分析数据、回答问题、例行化。

数据仓库环境--Inmon

数据仓库环境

数据仓库是一个面向主题的集成的非易失的随时间变化的用来支持管理人员决策的数据集合。数据仓库包含粒度化的企业数据。在数据仓库的所有特性中,集成是最重要的。
数据仓库中数据的主要设计问题:粒度问题分区

分区

数据分区的标准完全由开发人员来决定。在数据仓库环境中,日期几乎总是分区标准中的一个必然组成部分。可采用的分区标准包括时间、业务范围、地理位置、组织单位等等。

数据仓库中的数据组织

简单堆积结构
轮转综合数据存储
简单直接文件
连续文件
数据仓库的关键字总是复合关键字,因为:日期几乎总是关键字的一部分;分区总是关键字的一部分。

数据仓库环境主要构件

  • 操作型源系统
  • 数据聚集环节:ETL
  • 数据展示:数据应以维度形式进行展示、存储和访问;数据中心中必须包括详细的原子数据
  • 数据存取工具:所有数据存取工具访问的是数据仓库展示环节中的数据。

设计数据仓库--Inmon方法(即关系模型

从操作型数据开始

数据转换难点

  • 数据缺乏集成--格式编码不一致

  • 访问现有系统数据的效率
    从操作型环境到数据仓库有三种装载工作要做:

装载档案数据。
装载操作型系统中的现有数据。
将上次DW刷新以来操作型环境中发生的变化(更新)从操作型环境中装载到数据仓库中。
前两者都只需装载一次,难度不大。数据仓库刷新时,可采用以下五种技术减少扫描的操作型数据量:

扫描在操作型环境中被打上时戳的数据。
扫描增量文件。
对事务处理产生的日志文件或审计文件进行扫描。日志文件与增量文件基本相同,但日志文件不如增量文件专用于此功能。
修改应用程序代码。不常用。
将一个“前”映像文件和一个“后”印象文件进行比较。这种方法很麻烦、复杂,耗费资源,因此是下下策。

  • 时基变化

  • 数据压缩

数据仓库与数据模型

数据仓库的数据模型

数据建模分为三个层次:高层建模(称为实体关系图,或ERD),中间层建模(称为数据项集或DIS),底层建模(称为物理模型)。

数据模型与迭代式开发

数据模型在迭代开发期间所起的作用:每一次迭代开发都基于同一个数据模型,各次开发工作的结果将产生一个内聚的、高度和谐的整体。

相关物理设计技术

数据模型的输出是大量的表,每个表包含关键字和属性,其中每个表只包含少量数据。通常将这些表物理合并,使得I/O代价最小化。需要物理设计人员解决的是采用什么样的策略来合并这些表。
另一种能够节省I/O的设计技术是创建数据数组
引入冗余数据
当访问率相差悬殊时,对数据做进一步的分离
引入导出数据(即已计算出的)以减少所需I/O。
最具创新性的技术之一是创造性索引创造性概要文件
参照完整性管理。

元数据

元数据,即描述数据的数据,与指向数据仓库内容的索引相似,处于数据仓库的上层,并且记录数据仓库中对象的位置。

数据周期

数据转换

早期,程序员需要自己编写程序实现集成,后来出现了数据集成自动化技术,即ETL软件(抽取、转换、装载)。

星型连接

在数据仓库技术中经常提到的一种不同于数据库设计方法是多维方法。包括星型连接、事实表和维。

需求和Zachman框架

数据仓库不是由处理需求建造成的,而是根据企业需求而设计的。聚集和组织企业需求的最好的办法之一是Zachman框架。Zachman框架一旦建立,企业的信息需求就可以从中提取出来。根据提取的需求,就可以建立企业数据模型。然后根据企业数据模型,就能以迭代的方式建立数据仓库

Zachman框架

数据仓库的概念建模与概念设计-Golfarelli

数据仓库设计包括3个主要阶段:概念设计、逻辑设计、物理设计,其中,概念模型即为星型图或雪花模型;而逻辑设计阶段则是对星型图的细化。。3种不同的设计场景:数据驱动的场景、需求驱动的场景、混合场景。在数据集市设计中可以使用3种基本的系统方法:数据驱动的方法、需求驱动的方法和混合方法。它们的区别在于源数据库分析和终端用户需求分析阶段所占的比重。

概念建模

DFM维度事实模型

数据仓库的概念设计

Oracle Warehouse Builder(OWB)创建数据仓库

Oracle的OWB是目前最好的三大ETL产品之一。OWB不但可以可以完成数据的抽取、转换和加载,还能帮助用户在Oracle数据库中创建ROLAP(Relational Online Analysis Process)和MOLAP(Multidimensional Online Analysis Process)数据仓库对象,数据质量管理,商务智能定义等。

OWB数据处理流程

(1)进入“Design Center”

新建“控制中心(Control Center)”
新建“项目(Project)”
定义“数据源模块(Module)”
定义“目标数据模块(Module)”
设计“映射(Mapping)”
设计“进程流(Process Flow)”确定映射运行的先后顺序
设计“计划(Schedule)”
“配置(Configure)”映射和工作流,添加不同映射和工作流的“计划”,部署后会形成“工作(Job)”
(2)在Design Center中创建Control Center,并且将其配置为缺省的Control Center

(3)打开“控制中心管理器(Control Center Manager)”

确定数据源和目标数据库的实际物理配置,“注册(Register)”“位置(Location)”为部署和执行打下基础
“部署(Deploy)”某个项目、位置、模块下所有对象,这些操作完成了如下工作:DDL、DML、Control File、Workflow代码、Job生成代码或者ABAP等代码在目标用户所在数据库上的生成,DDL语句的部署同时完成了对象在目标用户所在数据库上的生成,DML、Control File、Workflow、Job需要下一步的执行才可以真正完成
“执行(Execute)”工作,实现周期ETL

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 首先介绍关系数据模型、多维数据模型和 Data Vault 模型这三种常见的数据仓库模型和与之相关的设计方法,然后...
    Youngmon阅读 918评论 0 3
  • 上一篇:098-BigData-26Hive企业级调优 十、数据仓库 10.1 什么是数据仓库数据仓库,英文名称为...
    AncientMing阅读 860评论 0 2
  • 一、数据仓库设计方法概述 (一)DW设计与DB设计方法的比较 1.处理类型不同 (1)DB:操作型数据环境,面向业...
    啦啦啦_9a5f阅读 2,987评论 1 9
  • 数据仓库建模 1、什么是数据模型 数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式...
    nightwish夜愿阅读 1,526评论 0 21
  • 《银魂》里有一句台词说:“等你们长大成人了就会明白,人生还有眼泪也冲刷不干净的巨大悲伤,还有难忘的痛苦让你们即使想...
    幸运的羊蜀黍阅读 212评论 0 0