數據倉庫和數據庫的區別(一)

數據庫是面向事務的設計,數據倉庫是面向主題設計的。數據庫通常存儲在線交易數據,數據倉庫存儲的通常是歷史數據。
數據庫設計是儘可能避免冗餘,通常採用符合範式的規則來設計,數據倉庫在設計是有意引入冗餘,採用反範式的方式來設計。
數據庫是爲捕獲數據而設計,數據倉庫是爲分析數據而設計,它的兩個基本的元素是維表和事實表。(維是看問題的角度,好比時間,部門,維表放的就是這些東西的定義,事實表裏放着要查詢的數據,同時有維的ID) 數據庫


數據倉庫,是在數據庫已經大量存在的狀況下,爲了進一步挖掘數據資源、爲了決策須要而產生的,它決不是所謂的「大型數據庫」。那麼,數據倉庫與傳統數據庫比較,有哪些不一樣呢?讓咱們先看看W.H.Inmon關於數據倉庫的定義:面向主題的、集成的、與時間相關且不可修改的數據集合。 數據庫設計


「面向主題的」:傳統數據庫主要是爲應用程序進行數據處理,未必按照同一主題存儲數據;數據倉庫側重於數據分析工做,是按照主題存儲的。這一點,相似於傳統農貿市場與超市的區別—市場裏面,白菜、蘿蔔、香菜會在一個攤位上,若是它們是一個小販賣的;而超市裏,白菜、蘿蔔、香菜則各自一塊。也就是說,市場裏的菜(數據)是按照小販(應用程序)歸堆(存儲)的,超市裏面則是按照菜的類型(同主題)歸堆的。 
「與時間相關」:數據庫保存信息的時候,並不強調必定有時間信息。數據倉庫則不一樣,出於決策的須要,數據倉庫中的數據都要標明時間屬性。決策中,時間屬性很重要。一樣都是累計購買過九車產品的顧客,一位是最近三個月購買九車,一位是最近一年從未買過,這對於決策者意義是不一樣的。 
「不可修改」:數據倉庫中的數據並非最新的,而是來源於其它數據源。數據倉庫反映的是歷史信息,並非不少數據庫處理的那種平常事務數據(有的數據庫例如電信計費數據庫甚至處理實時信息)。所以,數據倉庫中的數據是極少或根本不修改的;固然,向數據倉庫添加數據是容許的。 
數據倉庫的出現,並非要取代數據庫。目前,大部分數據倉庫仍是用關係數據庫管理系統來管理的。能夠說,數據庫、數據倉庫相輔相成、各有千秋。設計

概況的說,數據倉庫與數據庫的主要區別在於:
(1)數據庫是面向事務的設計,數據倉庫是面向主題設計的。
(2)數據庫通常存儲在線交易數據,數據倉庫存儲的通常是歷史數據。 
(3)數據庫設計是儘可能避免冗餘,數據倉庫在設計是有意引入冗餘。 
(4)數據庫是爲捕獲數據而設計,數據倉庫是爲分析數據而設計。
 事務

相關文章
相關標籤/搜索