数据库与数据仓库的区别

上传人:壹****1 文档编号:456689666 上传时间:2023-08-13 格式:DOCX 页数:23 大小:65.80KB
返回 下载 相关 举报
数据库与数据仓库的区别_第1页
第1页 / 共23页
数据库与数据仓库的区别_第2页
第2页 / 共23页
数据库与数据仓库的区别_第3页
第3页 / 共23页
数据库与数据仓库的区别_第4页
第4页 / 共23页
数据库与数据仓库的区别_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《数据库与数据仓库的区别》由会员分享,可在线阅读,更多相关《数据库与数据仓库的区别(23页珍藏版)》请在金锄头文库上搜索。

1、数据库与数据仓库的区别简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的 ID 。单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据

2、库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。“面向主题的” :

3、传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据; 数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的 ; 而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜( 数据 ) 是按照小贩( 应用程序 ) 归堆 ( 存储 ) 的,超市里面则是按照菜的类型( 同主题 ) 归堆的。“与时间相关” : 数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月

4、购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。“不可修改” : 数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据( 有的数据库例如电信计费数据库甚至处理实时信息 ) 。因此,数据仓库中的数据是极少或根本不修改的 ; 当然,向数据仓库添加数据是允许的。数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据

5、仓库必须有如下几点优点,否则是失败的数据仓库方案。1. 效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至 12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3 日才能给出数据,显然不行的。2. 数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL复杂的架构会更多层次,那么由于数据源有脏数 据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。3. 扩展性。之所以有的大型数据仓库系统架

6、构设计复杂,是因为考虑到了未来 3-5 年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。数据仓库是面向分析的,数据库是面向事务处理.数据仓库的数据是基本不变得,而数据库的数据是由日常的业务产生的,常更新数据仓库的数据一般有数据库的数据经过一定的规则转换得到得数据仓库主要用来分析数据, 一般是 tb 级的的数据,比如决策支持系统,数据挖掘等.数据库系统作为数据管理手段,从它的诞生开始,就主要用于事务处理。经过数十年的发展,在这些数据库中已经保存了大量的

7、日常业务数据。传统的业务系统一般是直接建立在这种事务处理环境上的。随着技术的进步,人们试图让计算机担任更多的工作,而数据库技术也一直力图使自己能胜任从事务处理、批处理到分析处理的各种类型的信息处理任务。后来人们逐渐认识到,在目前的计算机处理能力上,根本无法实现这种功能,而且,另一方面,事物处理和分析处理具有极不相同的性质,直接使用事务处理环境来支持决策是行不通的。事务处理环境不适宜 DSS 应用的原因主要有以下五条:( 1)事务处理和分析处理的性能特性不同。在事务处理环境中,用户的行为特点是数据的存取操作频率高而每次操作处理的时间短;在分析处理环境中,用户的行为模式与此完全不同,某个DSS 应

8、用程序可能需要连续几个小时,从而消耗大量的系统资源。将具有如此不同处理性能的两种应用放在同一个环境中运行显然是不适当的。( 2)数据集成问题。DSS 需要集成的数据。全面而正确的数据是有效的分析和决策的首要前提,相关数据收集得月完整,得到的结果就越可靠。当前绝大多数企业内数据的真正状况是分散而非集成的。造成这种分散的原因有多种,主要有事务处理应用分散、“蜘蛛网”问题、数据不一致问 题、外部数据和非结构化数据。(3)数据动态集成问题。静态集成的最大缺点在于,如果在数据集成后数据源中数据发生了变化,这些变化将不能反映给决策者,导致决策者使用的是过时的数据。集成数据必须以一定的周期(例如24小时)进

9、行刷新,我们称其为动态集成。显然,事务处理系统不具备动态集成的能力。(4)历史数据问题。事务处理一般只需要当前数据,在数据库中一般也是存储短期数据,切不同数据的保存期 限也不一样,即使有一些历史数据保存下来了,也被束之高阁,未得到充分利用。但对于决策 分析而言,历史数据是相当重要的,许多分析方法必须一大量的历史数据为依托。没有历史数 据的详细分析,是难以把握企业的发展趋势的。DSS对数据在空间和时间的广度上都有了更高的要求,而事务处理环境难以满足这些要求。(5)数据的综合问题。在事务处理系统中积累了大量的细节数据,一般而言,DSS并不对这些细节数据进行分析。在分析前,往往需要对细节数据进行不同

10、程度的综合。而事务处理系统不具备这种综合能 力,根据规范化理论,这种综合还往往因为是一种数据冗余而加以限制。要提高分析和决策的效率和有效性,分析型处理及其数据必须与操作型处理及其数据相分 离。必须把分析型数据从事务处理环境中提取出来,按照DSS处理的需要进行重新组织,建立单独的分析处理环境,数据仓库正是为了构建这种新的分析处理环境而出现的一种数据存储和 组织技术。?数据仓库的关键技术那么,数据仓库都有哪些组成部分和关键技术呢?与关系数据库不同,数据仓库并没有严格 的数学理论基础,它更偏向于工程。由于数据仓库的这种工程性,因而在技术上可以根据它的 工作过程分为:数据的抽取、存储和管理、数据的表现

11、以及数据仓库的设计的技术咨询四个方 面。为此,我们将分别讨论每一个环节。3.1 ?数据的抽取数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取 过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库。数据 抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面。数据仓库的数据并 不要求与联机事务处理系统保持实时的同步,因此数据抽取可以定时进行,但多个抽取操作执 行的时间、相互的顺序、成败对数据仓库中信息的有效性则至关重要。在技术发展上,数据抽取所涉及的单个技术环节都已相对成熟,其中有一些是躲不开编程的, 但整体的集成度还很不够。目前

12、市场上所提供的大多是数据抽取工具。这些工具通过用户选定 源数据和目标数据的对应关系,会自动生成数据抽取的代码。但数据抽取工具支持的数据种类 是有限的;同时数据抽取过程涉及数据的转换,它是一个与实际应用密切相关的部分,其复杂 性使得不可嵌入用户编程的抽取工具往往不能满足要求。因此,实际的数据仓库实施过程中往 往不一定使用抽取工具。整个抽取过程能否因工具的使用而纳入有效的管理、调度和维护则更 为重要。从市场发展来看,以数据抽取、异构互连产品为主项的数据仓库厂商一般都很有可能 被其它拥有数据库产品的公司吞并。在数据仓库的世界里,它们只能成为辅助的角色。3.2 ?数据的存储和管理数据仓库的真正关键是数

13、据的存储和管理。数据仓库的组织管理方式决定了它有别于传统 数据库的特性,同时也决定了其对外部数据表现形式。要决定采用什么产品和技术来建立数据 仓库核心,则需要从数据仓库的技术特点着手分析数据仓库遇到的第一个问题是对大量数据的存储和管理。这里所涉及的数据量比传统事务处理大得多,且随时间的推移而累积。从现有技术和产品来看,只有关系数据库系统能够担当 此任。关系数据库经过近 30年的发展,在数据存储和管理方面已经非常成熟,非其它数据管理 系统可比。目前不少关系数据库系统已支持数据分割技术,能够将一个大的数据库表分散在多 个物理存储设备中,进一步增强了系统管理大数据量的扩展能力。采用关系数据库管理数百

14、个 GB甚至到TB的数据已是一件平常的事情。一些厂商还专门考虑大数据量的系统备份问题,好 在数据仓库对联机备份的要求并不高。数据仓库要解决的第二个问题是并行处理。在传统联机事务处理应用中,用户访问系统的 特点是短小而密集;对于一个多处理机系统来说,能够将用户的请求进行均衡分担是关键,这 便是并发操作。而在数据仓库系统中,用户访问系统的特点是庞大而稀疏,每一个查询和统计 都很复杂,但访问的频率并不是很高。此时系统需要有能力将所有的处理机调动起来为这一个 复杂的查询请求服务,将该请求并行处理。因此,并行处理技术在数据仓库中比以往更加重 要。大家可以注意以下,在针对数据仓库的TPC-D基准测试中,比

15、以往增加了一个单用户环境的测试,成为“系统功力(QPPD)。系统的并行处理能力对QPPD的值有重要影响。目前,关系数据库系统在并行处理方面已能做到对查询语句的分解并行、基于数据分割的并行、以及支持 跨平台多处理机的群集环境和MPP环境,能够支持多达上百个处理机的硬件系统并保持性能的扩展能力。数据仓库的第三个问题是针对决策支持查询的优化。这个问题主要针对关系数据库而言, 因为其它数据管理环境连基本的通用查询能力都还不完善。在技术上,针对决策支持的优化涉 及数据库系统的索引机制、查询优化器、连接策略、数据排序和采样等诸多部分。普通关系数 据库采用B树类的索引,对于性别、年龄、地区等具有大量重复值的字段几乎没有效果。而扩 充的关系数据库则引入了位图索引的机制,以二进制位表示字段的状态,将查询过程变为筛选 过程,单个计算机的基本操作便可筛选多条记录。由于数据仓库中各数据表的数据量往往极不 均匀,普通查询优化器所得出得最佳查询路径可能不是最优的。因此,面向决策支持的关系数 据库在查询优化器上也作了改进,同时根据索引的使用特性增加了多重索引扫描的能力。?以关系数据库建立的数据仓库在应用时会遇到大量的表间连接操作,而连接操作对于关系 数据库来说是一件耗时的操作。扩充的关系数据库中对连接操作可以做预先的定义,我们称之 为连接索引,使得数据库在执行查询时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号