有兩個層面/角度來回答這個有趣的問題:
1,邏輯層面/概念層面:數據庫和數據倉庫實際上是同樣的或者及其類似的,都是經過某個數據庫軟件,基於某種數據模型來組織、管理數據。可是,數據庫一般更關注業務交易處理(OLTP),而數據倉庫更關注數據分析層面(OLAP),由此產生的數據庫模型上也會有很大的差別。
數據庫一般追求交易的速度,交易完整性,數據的一致性,等等,在數據庫模型上主要聽從範式模型(1NF,2NF,3NF,等等),從而儘量減小數據冗餘,保證引用完整性;而數據倉庫強調數據分析的效率,複雜查詢的速度,數據之間的相關性分析,因此在數據庫模型上,數據倉庫喜歡使用多維模型,從而提升數據分析的效率。
2,產品實現層面:數據庫和數據倉庫軟件是有些不一樣的,數據庫一般使用行式存儲,如SAP ASE,Oracle, Microsoft SQL Server,而數據倉庫傾向使用列式存儲,如SAP IQ,SAP HANA數據庫
數據倉庫是一個面向主題的(Subject Oriented),集成的(Integrate),相對穩定的(Non-volatile),反映歷史變化(Time Variant)的數據集合,用於支持管理決策。數據庫設計
所謂的:設計
數據倉庫建設是一個工程,是一種過程,而不是一種能夠購買的產品,企業數據處理方式是以聯機事務處理形式信息,並利用信息進行決策;在信息應用過程當中管理信息。事務
數據倉庫的出現,並非要取代數據庫。目前大部分數據倉庫仍是用關係型數據庫管理系統實現的。數據倉庫與數據庫的主要區別在於:數據分析