数据库与数据仓库的本质区别是什么?
1、存放值区别:数据库只存放在当前值,数据仓库存放历史值;2、数据变化区别:数据库内数据是动态变化的,只要有业务发生,数据就会被更新,而数据仓库则是静态的历史数据,只能定期添加、刷新;3、数据结构区别:数据库中的数据结构比较复杂,有各种结构以适合业务处理系统的需要,而数据仓库中的数据结构则相对简单;4、访问频率不同:数据库中数据访问频率较高,但访问量较少,而数据仓库的访问频率低但访问量却很高;5、目标人群区别:数据库中数据的目标是面向业务处理人员的,为业务处理人员提供信息处理的支持,而数据仓库则是面向高层管理人员的,为其提供决策支持;
数据库与数据仓库的区别
1. 主要区别在于数据结构,数据库中的建模一般遵循三范式,而数据仓库的建模有特定的方式,一般采用维度建模(你可以参考ralph kimball、bill inmon、还有一种叫DV模型的作者忘记叫啥了),使用这些建模方式的原因是便于OLAP建立,增加统计查询较率等。2. 数据仓库中数据通常来源于多个不同的业务系统数据库(存储多年数据),数据量较大,一般做为企业数据中心用。3. 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 4. 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 5. 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 6. 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。知识拓展:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
数据库和数据仓库有什么区别?
数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端 + 几台服务器 + 一个MySQL,就能开门迎客了。这好比手工作坊时期。第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。初步进入工业化。第三个阶段,一般需要 3-5 年左右的时间,随着业务指数级的增长,数据量的会陡增,公司角色也开始多了起来,开始有了 CEO、CMO、CIO,大家需要面临的问题越来越复“上个月的 PV、UV 是多少”,逐渐演化到非常精细化和具体的用户的集群分析,特定用户在某种使用场景中。那么在这里前一种业务数据库(读写都优化)的是业务性数据库,后一种是分析性数据库,即数据仓库。最后总结一下:数据库 比较流行的有:MySQL, Oracle, SqlServer等数据仓库 比较流行的有:AWS Redshift, Greenplum, Hive等。
数据库和数据仓库有什么区别
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的数据库一般存储在线交易数据,数据仓库存储的一般是历史数据数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID单从概念上讲,有些晦涩任何技术都是为应用服务的,结合应用可以很容易地理解以银行业务为例数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少如果存款又多,消费交易又多,那么该地区就有必要设立ATM了显然,银行的交易量是巨大的,通常以百万甚至千万次来计算事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据而分析系统是事后的,它要提供关注时间段内所有的有效数据这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看WHInmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性决策中,时间属性很重要同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的数据仓库的出现,并不是要取代数据库目前,大部分数据仓库还是用关系数据库管理系统来管理的可以说,数据库、数据仓库相辅相成、各有千秋补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案1效率足够高客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的2数据质量客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益3扩展性之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了