推荐回答
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜数据是按照小贩应用程序归堆存储的,超市里面则是按照菜的类型同主题归堆的。与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据有的数据库例如电信计费数据库甚至处理实时信息。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
黄登英2019-12-21 18:41:53
提示您:回答为网友贡献,仅供参考。
其他回答
-
一定要说的话,那就是包含和被包含关系吧,数据仓库是数据中台的一个元数据来源。WakeData数据中台的数据接入平台就是提供包含数据仓库、日志数据、外部数据等多源数据接入储存的平台。
辛培军2019-12-21 19:39:10
-
1收集和分析业务需求2建立数据模型和数据仓库的物理设计3定义数据源4选择数据仓库技术和平台5从操作型数据库中抽取、净化、和转换数据到数据仓库6选择访问和报表工具7选择数据库连接软件8选择数据分析和数据展示软件9更新数据仓库1数据转换工具要能从各种不同的数据源中读取数据。2支持平面文件、索引文件、和legacyDBMS。3能以不同类型数据源为输入整合数据。4具有规范的数据访问接口5最好具有从数据字典中读取数据的能力6工具生成的代码必须是在开发环境中可维护的7能只抽取满足指定条件的数据,和源数据的指定部分8能在抽取中进行数据类型转换和字符集转换9能在抽取的过程中计算生成衍生字段10能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件11必须对软件供应商的生命力和产品支持能力进行仔细评估主要数据抽取工具供应商:Prismsolutions.Carleton''sPASSPORT.InformationBuildersInc.''sEDA/SQL.SASInstituteInc.一般问题不完全是技术或文化,但很重要包括但不限于以下几点:业务用户想要执行什么样的分析?你现在收集的数据需要支持那些分析吗?数据在哪儿?数据的清洁度如何?相似的数据有多个数据源吗?什么样的结构最适合核心数据仓库例如维度或关系型?技术问题包括但不限于以下几点:在你的网络中要流通多少数据?它能处理吗?需要多少硬盘空间?硬盘存储需要多快?你会使用固态还是虚拟化的存储。
齐有利2019-12-21 19:14:51
-
何谓数据仓库?为什么要建立数据仓库?答:数据仓库是一种新的数据处理体系结构,是面向主题的、集成的、不可更新的稳定性、随时间不断变化不同时间的数据集合,为企业决策支持系统提供所需的集成信息。建立数据仓库的目的有3个:一是为了解决企业决策分析中的系统响应问题,数据仓库能提供比传统事务数据库更快的大规模决策分析的响应速度。二是解决决策分析对数据的特殊需求问题。决策分析需要全面的、正确的集成数据,这是传统事务数据库不能直接提供的。三是解决决策分析对数据的特殊操作要求。决策分析是面向专业用户而非一般业务员,需要使用专业的分析工具,对分析结果还要以商业智能的方式进行表现,这是事务数据库不能提供的。何谓数据挖掘?它有哪些方面的功能?答:从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程称为数据挖掘。相关的名称有知识发现、数据分析、数据融合、决策支持等。数据挖掘的功能包括:概念描述、关联分析、分类与预测、聚类分析、趋势分析、孤立点分析以及偏差分析等。
黄相平2019-12-21 18:57:54