数据仓库建模

oracle数据仓库的建模
一.数据库的使用场景
1、OLTP(在线联机事务处理)
内容:前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一
OLTP数据库主要考虑的是数据库的业务响应时间以及并发度。一个公司往往会使用并维护若干个数据库,这些数据库保存着公司的日常操作数据,
比如商品购买、酒店预订、学生成绩录入等,票务交易系统是个典型的操作型系统
核心:强调数据库内存效率,强调内存各指标命令率,强调并发操作。
特点:减少冗余和提高精度;适合于数据的写入和更新而不是数据的读取;
数据被细分为很多表(为了消除冗余),大的查询执行起来比较慢。
局限:最容易出现瓶颈的地方就是CPU与磁盘子系统
(1)表现在逻辑读总量与计算性函数或者是过程上,设计与优化的方法是减少单个语句的逻辑读
或者减少它们的执行次数。或者一些计算性函数(自定义、decode等)大量消耗cpu的时间。
(2)磁盘子系统中物理读一半都是dbfile sequential read(单块读),其OLTP常用的设计与优化方式为
cache技术与B-tree索引技术。cache决定了很多语句不需要从磁盘子系统获取数据,因此web cache与data buffer 对
OLTP是很重要的。除此还有简单语句、绑定变量、减少语句解析、减少分部或者事务、尽量不用分区技术、mv技术
并行技术以及位图索引。因为并发量很高,批量更新时要分批快速提交,以免发生阻塞。
2、OLAP(在线联机分析处理)。
内容:OLAP使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。这里主要
应用是的数据仓库,它是用于实时或离线数据分析。这类数据库作为公司的单独数据存储,
负责利用历史数据对公司各主题域进行统计分析。它更关注于整个数据吞吐量而非单个查询的速度。
核心:强调数据分析,强调sql执行市场,强调磁盘i/o,强调分区等。
特点:(1)通常使用星型和雪花型结构布局。所有事务型数据,大部分数值型数据存储在事实表中,所有的参考数据,例如产品信息等,
存储在独立的维度表中。(2)星型结构数据库比完全标准化数据库含有的表少,查询性能更快。
(3)部分表反范式化(如刻意增加冗余)提升查询和扫描性能
二.维度建模的基本方法
维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。
1、维度表:如地区维度有地域、国家、办事处、技术人员组成,如保单的险种产品为维度
2、事实表:表示对分析主题的度量。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。
事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。
在数据仓库中不需要严格遵守规范化设计原则,因为数据仓库少有更新,基本上大量的数据装载和查询。

三、数据仓库模型组织
两种模型:
1、星型模型:最常用的维度建模方式。星型模型是一种多维的数据关系,它由一个事实表和一组维表组成。
每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,
形成一个宽表。
总的来说:
维表只和事实表关联,维表之间没有关联。
每个维表的主码为单列,且该主码放置在事实表中,作为两边连接的外码。
以事实表为核心,维表围绕核心呈星型分布。
事实表与维度表之间并没有强制的外键约束。
2、雪花模型:当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时。
雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化。
雪花模型更加符合数据库范式,减少数据冗余,但是在分析数据的时候,操作比较复杂,
需要join的表比较多所以其性能并不一定比星型模型高。
两者比较:星型模型和雪花模型两种维度建模方法都是多维表对应单事实表
(1)星型模型的设计方式主要带来的好处是能够提升查询效率,生成的事实表已经经过预处理,主要的数据都在事实表里面,
所以只要扫描事实表就能够进行大量的查询,而不必进行大量的join
(2)雪花模型的设计方式主要带来的好处是数据冗余少,扩展性较星型模型要强,但是查询时涉及join关联的表要更多,效率较低。
3.星座模型:但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。
星座模型是星型模式的扩展。
四、数据建模示例:
企业管理与决策图形、
数据仓库-面向主题图(不带箭头)、
数据仓库-系统结构图:数据仓库主要包括数据的提取、转换与装载(ETL)、元数据、数据集市和操作数据存储等部分、
对象-ER图:
事实表和维度表之间的关系图:
(1)在进行维度建模前,首先要了解用户需求。假设经过多次的需求沟通确认得到以下ER图。
比如:学生对象由名字、性别、学号、年龄等等属性组成。
(2)随后可利用建模工具(ERWin和PowerDesigner)将ER图直接映射到关系图。
(3)但不论采取何种模式,维度建模的关键在于明确下面四个问题:
1)哪些维度对主题分析有用
2)如何使用现有数据生成维表
3)用什么指标来"度量"主题?
4)如何使用现有数据生成事实表
维表不满足规范化设计(不满足3NF)。
事实表也不满足规范化设计(1NF都不满足)。
五.数据仓库
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。
与其他数据库应用不同的是,数据仓库更像一种过程,对分布在企业内部各处的业务数据的整合、加工和分析的过程。

特点:
1、面向主题,操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中
的数据是按照一定的主题域进行组织的。
2、集成的 ,数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得
到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的 ,数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据
进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很
少,通常只需要定期的加载、刷新。
4、反映历史变化 ,数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点
(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和
未来趋势做出定量分析和预测。
数据集市:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值