数据库和数据仓库的区别

有两个层面/角度来回答这个有趣的问题:
1,逻辑层面/概念层面:数据库和数据仓库实际上是同样的或者及其类似的,都是经过某个数据库软件,基于某种数据模型来组织、管理数据。可是,数据库一般更关注业务交易处理(OLTP),而数据仓库更关注数据分析层面(OLAP),由此产生的数据库模型上也会有很大的差别。
数据库一般追求交易的速度,交易完整性,数据的一致性,等等,在数据库模型上主要听从范式模型(1NF,2NF,3NF,等等),从而尽量减小数据冗余,保证引用完整性;而数据仓库强调数据分析的效率,复杂查询的速度,数据之间的相关性分析,因此在数据库模型上,数据仓库喜欢使用多维模型,从而提升数据分析的效率。
2,产品实现层面:数据库和数据仓库软件是有些不一样的,数据库一般使用行式存储,如SAP ASE,Oracle, Microsoft SQL Server,而数据仓库倾向使用列式存储,如SAP IQ,SAP HANA数据库

 

数据仓库是一个面向主题的(Subject Oriented),集成的(Integrate),相对稳定的(Non-volatile),反映历史变化(Time Variant)的数据集合,用于支持管理决策。数据库设计

所谓的:设计

  • 面向主题:指数据仓库中的数据是按照必定的主题域进行组织
  • 集成:指对原有的分散的数据库通过系统加工,整理获得的消除源数据中的不一致性
  • 相对稳定:指一旦某个数据进入数据仓库之后只须要按期的加载、刷新
  • 反映历史变化:指经过这些信息,对企业的发展历程和将来趋势作出定量分析预测

数据仓库建设是一个工程,是一种过程,而不是一种能够购买的产品,企业数据处理方式是以联机事务处理形式信息,并利用信息进行决策;在信息应用过程当中管理信息。事务

数据仓库的出现,并非要取代数据库。目前大部分数据仓库仍是用关系型数据库管理系统实现的。数据仓库与数据库的主要区别在于:数据分析

  • 数据库是面向事务的设计,数据仓库是面向主题设计的
  • 数据库通常存储在线交易数据,数据仓库存储的通常是历史数据
  • 数据库设计是尽可能避免冗余,数据仓库在设计时有意引入冗余
  • 数据库是为了捕获数据而设计,数据仓库是为了分析数据而设计
相关文章
相关标签/搜索