数据仓库(简答题复习资料整理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据仓库(简答题复习资料)
(1)数据仓库概念和特点 P12-14
数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,它用于支持企业或组织的决策分析处理。
数据仓库是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。
首先,用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;
其次,对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
数据仓库的功能和特性
1 面向主题
2 数据的集成性
3 数据的稳定性(非易失性)
4 数据随时间变化的特性
5 多维性数据是带有时间轴的→数据是多维的→形成立方体(Cube)见书P52
(2)数据库与数据仓库的区别
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数
据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。
“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。
数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
(3)元数据 P16
元数据模型 P102-107
①分类②作用③收集和维护④作用
(4)数据集市 P17
(5)操作数据存储ODS P33-39
①概念②应用---OLTP、OLAP、DB-ODS-DW
ODS定义
ODS是Operational Data Store的简称,翻译成操作数据存储。
ODS是数据仓库体系结构的一部分,可以根据需要选择是否采用ODS。
它具备数据仓库的部分特征和OLTP的部分特征。
ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全局信息的需求。常常被作为数据仓库的过渡。
作为一个中间层次,它既不是联机事务处理,也算不上高层决策分析,是不同于 DB 的一种新的数据环境,是数据仓库扩展后得到的一个混合形式。
ODS支持对数据的联机修改——增、删与更新等操作。
ODS特点
面向主题的(与数据仓库类似)
集成的(与数据仓库类似)
可变的
数据可以联机改变,包括增、删及更新等操作。
数据是当前细节级或接近当前的
数据在存取时刻是最新的
数据是最近一段时间之前得到的。
ODS和数据仓库的异同
相同点:面向主题的,集成的
不同点:
DW是静态数据,而ODS中的数据是动态的、可更新的
设计目标不同,ODS的设计目标是快速执行针对全局信息的少量数据的简单查询工作,这同数据仓库中的大数据量复杂查询截然不同。
数据内容不同,ODS存储当前或者近期的数据,DW存储历史性数据。ODS就像你的短期记忆,仅仅记录你的近期信息,而数据仓库就像长期记忆一样,存储相对长久一些的信息
数据容量不同,ODS数据容量级别较小,DW的数据容量很大
ODS类别
I 类ODS,与应用系统的数据延迟为1~2秒,实时或近似实时
II 类ODS,与应用系统的数据延迟为2~4小时
III 类ODS,与应用系统的数据延迟为12~24小时
IV 类ODS,数据仓库中部分决策分析数据回流至ODS中
不同ODS类别的特点
数据延迟时间越短,ODS建设难度越高。
其中I 类ODS的建设难度最高,建设成本也是最高的。而且由于I 类ODS的实时性,对于技术的要求与其它类型ODS也有所不同,一般来讲需要用到EAI技术,但随着当前企业对数据仓库的实时性要求越来越高,相信I 类ODS会变得越来越重要。
通常在企业应用架构中,ODS是一个可选件,但一旦需要用到ODS的功能,那么ODS本身就将变得极为重要。
目前应用的比较多的是IV 类ODS,因为一旦将决策分析结果加载到ODS中,重要决策信息的高性能联机支持将成为可能。
ODS在体系结构中的几种作用
在业务系统和数据仓库之间形成一个隔离层
一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。
转移一部分业务系统细节查询的功能
在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。
ODS的数据从粒度、组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。
完成数据仓库中不能完成的一些功能
一般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析等查询功能。
在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上也就相当于ODS,但与ODS所不同的是,这时的细节数据不是“当前、不断变化的”数据,而是“历史的,不再