传统数据库和数据仓库的区别

用户5884834322944 2024-05-25 04:50:34
最佳回答
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的id。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据**,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据**,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立atm了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看w.h.inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。 “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。 “不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。 数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。 补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。 1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。 2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次etl,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。 3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。 20210311
汇率兑换计算器

类似问答
  • 百亿条数据量的oracle数据库优化?
    • 2024-05-25 14:42:57
    • 提问者: 未知
    oracle数据库优化可以从以下几个方面入手: 1、引起数据库性能问题的因素(包括软件代码、系统架构、数据库设计、sql查询等)...涉及到任何的ha(high **ailability)都有这问题。...
  • eps的数据库
    • 2024-05-25 04:15:21
    • 提问者: 未知
    在数据领域2113,eps数据**已建成一系列专业数5261据库,其中包括:世界4102贸易数1653据库(world trade data)世界能源数据库(world energy data)世界宏观经济数据库(world macro economy data)世界经济发展数据库(world economy development data)欧亚经济发展数据库(euro-asia ...
  • 操作数据库
    • 2024-05-25 18:15:31
    • 提问者: 未知
    1. 需要使用ado组件中的“connection”方法2. set 变量名=server.createobject("adodb.connection")3. 使用connection的“open”方法4. 加上“连接字符串”5.常用数据库的连接方式是:“连接字符串方式连接”
  • 蚂蚁金服oceanbase是什么,比传统的数据库如mysql、oracle有什么区别?
    • 2024-05-25 20:44:45
    • 提问者: 未知
    现在已经搭建起oceanbase数据库、oceanbase云**、...2019年天猫双十一狂欢节96秒破百亿,24小时总成交额2684亿,**峰值54.4万笔/秒,我相信懂技术的都知道这几个...
  • 数据库函数count()
    • 2024-05-25 21:20:48
    • 提问者: 未知
    count 函数 计算从查询返回的记录数。语法 count(expr) 其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 ...
  • 股市行情数据导入数据库
    • 2024-05-25 23:47:40
    • 提问者: 未知
    你下载excel 再手工转成 sql类型的数据,只手工进行,或者是做2个程序,一个程序是固定时间段自动下载某个网站的数据excel 表,再作个程序,固定时间段将excel 自动转成sql,也可以2程序做一起,不过这种方法只能算手工自动话,谈不上动态数据更新(因为数据更新反映时间过长),而且程序制作和运行的工作量巨大.要想完全的数据动态更新,你必须和对方的数据库有数据连接.基本上要花钱,估计也是你最...
  • 关系型数据库和非关系型数据库有什么区别?
    • 2024-05-25 12:25:53
    • 提问者: 未知
    没有明确的分类标准,但根据应用场景大致可分为几类:1、文档数据库,没研究过定义,通常mongodb 就是文档数据库,...关系型数据库有基本的四则运算可以增减列或增减行:选择...
  • 数据库有哪些
    • 2024-05-25 20:56:38
    • 提问者: 未知
    回答: sql:是2113一种特殊目的的编程语5261言4102,是一种数据1653库查询和 程序设计语言,用于存取数据以及查询、更新和管理 关系数据库系统。现在很多电脑爱好者都喜欢用这类数据。sybase:是美国sybase公司研制的一种关系型数据库系统,是一种典型的unix或windowsnt**上客户机/服务器...
  • 数据仓库指的是什么?
    • 2024-05-25 16:01:42
    • 提问者: 未知
    数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”
  • 车模数据库
    • 2024-05-25 04:21:43
    • 提问者: 未知
    你这个问题问了很久了,没有人给你回复,因为大家不知道你想干什么?你想要什么?你说清了自然会有人回答
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。