Data Warehouse Guide文档笔记(一):Data warehouse和OLTP系统的对比

新的工作主要专注于数据仓库的构建,因此开始阅读oracle的data warehouse guide文档,随便在这里记下一点笔记。希望能够坚持看完。

Oracle10g Data Warehouse Guide链接如下:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14223/toc.htm

和OLTP系统不同,数据仓库的主要目的是用于查询和分析数据。因此,数据仓库一般会包含大量的历史数据,用于分析其中的信息和趋势。
数据仓库理论的鼻祖William Inmon给数据仓库的特性归纳为一下四点:

面向主题(Subject Oriented)
集成(Inegrated)
不可修改(Nonvolatile)
时间相关(Time Variant)


数据仓库和OLTP是基于不同的需求而得出的解决方案。下面是数据仓库和OLTP系统的一些主要方面的对比:

一、负载
数据仓库主要设计为适合即席查询(Ad hoc query),我们无法预先知道数据仓库的负荷,所以,数据仓库需要设计为能够适应各种可能的查询

而OLTP系统一般执行的操作是可以预先确定的,可以按照估计出的系统负荷来设计OLTP系统

二、数据修改
数据仓库一般是通过ETL,周期性的将新的数据批量装载。数据进入数据仓库后,一般是不可修改的,所以数据仓库当中一般会建较多的索引用于优化查询。

而OLTP系统,终端用户可以修改其对应的某些数据,所有OLTP系统一般即时体现着当前最新的数据

三、架构设计
数据仓库一般采用非规范化或者部分非规范化的设计,以优化查询性能,典型的设计如星型模型和雪花模型。因为非规范化设计,可以只需要join较少的表就得到更多的数据。

而OLTP系统一般采用规范化的设计,以避免出现update/insert/delete异常,并保证数据的一致性。

四、典型操作
数据仓库中,一条查询可能需要访问上千,甚至几百万行数据,所以查询的性能相当重要。在oracle中,dimension,materialized view,bitmap index等技术,都在数据仓库中大量使用以优化查询性能。

OLTP中,一个操作一般只需要访问有限的几条数据。

五、历史数据
数据仓库中需要大量的历史数据,以便从历史数据中分析所需要的信息

OLTP系统则一般会将历史数据删除,以保证当前事务处理的性能


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值