问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

数据库根数据仓库有什么区别,如何区分?

提问网友 发布时间:2022-03-27 00:41
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
3个回答
热心网友 回答时间:2022-03-27 02:10
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。

数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。

显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
热心网友 回答时间:2022-03-27 03:28
大段大段的网上COPY的话我就不说了,我说一下我自己的理解
数据库是一种实际的技术,数据仓库也是一种技术,但是数据仓库更加偏向逻辑层次,而数据库更偏向物理层次。
数据库的话,分很多种:关系型数据库,层次数据库,网状数据库,*数据库等等,数据库的实现无非其实也是在OS层次上来做的
数据仓库的话,其实是一种逻辑的理解,一般你构建一个数据仓库,可能一开始并不考虑存储的方式,而更加关心其业务逻辑,设计好了之后,才会考虑各种不同的实现过程,实现的时候,就会考虑到数据库的应用,这个时候就使用比如ORACLE,DB2,IQ,SQL SERVER这些数据库,当然并不一定都是用数据库来实现数据仓库的,比如有些时候,数据仓库会使用XML或者是文本文件来存储。那么我们其实可以说数据库是实现数据仓库的一种方式,但并不是唯一的途径。

所以我理解上数据库是更加实现化的,是一种具体的东西,数据仓库其实是更加逻辑的,抽象的。

至于paopaoiff 说的那些,我认为其实不是数据库和数据仓库的区别,而是OLTP(联机事务交易)和OLAP(联机分析)的区别,因为数据库在做应用的时候,不一定是做联机分析,也可能做联机交易,而OLTP设计的时候,肯定是避免重复,去除冗余,OLAP的话,是有一定冗余,这仅仅是逻辑上处理的时候我们认为的处理方式,而数据库都是可以接受的
热心网友 回答时间:2022-03-27 05:03
数据仓库的数据主要来源于数据库、文本、网络等很多渠道,他主要是面向主题的,具体是用来为企业的高级管理人才进行相关决策的,比如说 通过分析一段时间超市的销售情况,我们可以得出一个规律,在卖尿布的地方如果有啤酒,这样可以加快啤酒的销售,因为在美国很多男性为子女买尿布时会在周五,而那几天刚好有球赛,这样就可以使企业获得更好的效益;仓库是个抽象的过程
而数据库主要是面向事务的,具体是用来进行数据统计、入库等,数据库的设计一般有之特定的模式,一般按范式的要求设计,目前主流的都是关系型数据库,数据库的数据去向一般是删除、数据仓库等,数据库是个具体的过程
刚刚学,条理不是很清晰,楼主见谅哦

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

相关推荐
  • 数据湖和数据仓库的差别

    数据湖和数据仓库的差别

    在储存方面上,数据湖中数据为非结构化的,所有数据都保持原始形式。存储所有数据,并且仅在分析时再进行转换。而数据仓库就是数据通常从事务系统中提取。
    查看详情
详解数据仓库和数据库的区别 数据库和数据仓库有什么区别? 数据库和数据仓库的区别在哪儿 数据库 与 数据仓库的本质区别是什么? 数据仓库与数据库的主要区别有 如何区别数据库、数据中台、数据湖? 数据库和数据仓库的区别是什么? 数据库与数据仓库的本质区别是什么? 数据库与数据仓库的区别 数据湖和数据仓库的区别是什么? JAVA程序员面试总结,高手整整理加强版 JVM的运行机制是什么 java两年经验面试都会问什么问题 描述一下JVM加载class文件 的原理机制? 面试java要写熟悉jvm? 为什么面试中总会被问到Java虚拟机 jvm是怎样的一种机制,java程序如何运行 jvm面试都有什么问题 初级java面试,面试官是如何出题的 面试java工程师,面试官一般问什么问题 数据仓库的含义,数据仓库和数据库的区别.? 数据仓库的含义是什么?数据仓库和数据库的区别是什么? 数据仓库和数据库有什么区别和联系? 数据仓库跟数据库有什么异同点 数据库,数据仓库和数据挖掘技术之间的区别 数据库和大数据的区别? 我提前几天在美团上订购了酒店,入住时还需提前电话通知商家吗? 美团订酒店怎么维权? 美团的号码保护 商家怎么联系我 美团怎么联系商家帮他要赞挣佣金 为什么美团总是订房又马上取消了 美团订房商家一直不确认订单怎么办? 之前消费的美团商家怎么找不到了 美团酒店商家差评怎么找到客户联系方式 美团订房商家不给退款怎么办 华为荣耀V30怎么样? 荣耀v30pro后盖是什么材质的? 荣耀V30性价比怎么样 值得买啵? 荣耀v30好不好了? 华为v30后盖是什么材质的玻璃?
Top