有两个层面/角度来回答这个有趣的问题:
1,逻辑层面/概念层面:数据库和数据仓库实际上是同样的或者及其类似的,都是经过某个数据库软件,基于某种数据模型来组织、管理数据。可是,数据库一般更关注业务交易处理(OLTP),而数据仓库更关注数据分析层面(OLAP),由此产生的数据库模型上也会有很大的差别。
数据库一般追求交易的速度,交易完整性,数据的一致性,等等,在数据库模型上主要听从范式模型(1NF,2NF,3NF,等等),从而尽量减小数据冗余,保证引用完整性;而数据仓库强调数据分析的效率,复杂查询的速度,数据之间的相关性分析,因此在数据库模型上,数据仓库喜欢使用多维模型,从而提升数据分析的效率。
2,产品实现层面:数据库和数据仓库软件是有些不一样的,数据库一般使用行式存储,如SAP ASE,Oracle, Microsoft SQL Server,而数据仓库倾向使用列式存储,如SAP IQ,SAP HANA数据库
数据仓库是一个面向主题的(Subject Oriented),集成的(Integrate),相对稳定的(Non-volatile),反映历史变化(Time Variant)的数据集合,用于支持管理决策。数据库设计
所谓的:设计
数据仓库建设是一个工程,是一种过程,而不是一种能够购买的产品,企业数据处理方式是以联机事务处理形式信息,并利用信息进行决策;在信息应用过程当中管理信息。事务
数据仓库的出现,并非要取代数据库。目前大部分数据仓库仍是用关系型数据库管理系统实现的。数据仓库与数据库的主要区别在于:数据分析