首先,定義三個概念:數據庫軟件、數據庫、數據倉庫。
數據庫軟件:是一種軟件,可以看得見,可以操作。用來實現數據庫邏輯功能。屬于物理層。
數據庫:是一種邏輯概念,用來存放數據的倉庫。通過數據庫軟件來實現。數據庫由很多表組成,表是二維的,一張表里可以有很多字段。字段一字排開,對應的數據就一行一行寫入表中。數據庫的美,在于能夠用二維表現多維關系。目前市面上流行的數據庫都是二維數據庫。如:Oracle、DB2、MySQL、Sybase、MS SQL Server等。
數據倉庫:是數據庫概念的升級。從邏輯上理解,數據庫和數據倉庫沒有區別,都是通過數據庫軟件實現的存放數據的地方,只不過從數據量來說,數據倉庫要比數據庫更龐大得多。數據倉庫主要用于數據挖掘和數據分析。
接下來,就是詳細說明了。在IT的架構體系中,數據庫是必須存在的。必須要有地方存放數據。比如現在的網購,淘寶,京東等等。物品的存貨數量,貨品的價格,用戶的賬戶余額之類的。這些數據都是存放在后臺數據庫中。或者最簡單理解,我們現在微博,QQ等賬戶的用戶名和密碼。在后臺數據庫必然有一張user表,字段起碼有兩個,即用戶名和密碼,然后我們的數據就一行一行的存在表上面。當我們登錄的時候,我們填寫了用戶名和密碼,這些數據就會被傳回到后臺去,去跟表上面的數據匹配,匹配成功了,你就能登錄了。匹配不成功就會報錯說密碼錯誤或者沒有此用戶名等。這個就是數據庫,數據庫在生產環境就是用來干活的。凡是跟業務應用掛鉤的,我們都使用數據庫。
而數據倉庫則是BI下的其中一種技術。由于數據庫是跟業務應用掛鉤的,所以一個數據庫不可能裝下一家公司的所有數據。數據庫的表設計往往是針對某一個應用進行設計的。比如剛才那個登錄的功能,這張user表上就只有這兩個字段,沒有別的字段了。但是這張表符合應用,沒有問題。但是這張表不符合分析。比如我想知道在哪個時間段,用戶登錄的量最多?哪個用戶一年購物最多?諸如此類的指標。那就要重新設計數據庫的表結構了。對于數據分析和數據挖掘,我們引入數據倉庫概念。數據倉庫的表結構是依照分析需求,分析維度,分析指標進行設計的。數據倉庫的數據來源于那些后臺持續不停運作的數據庫表。數據的搬運就牽涉到另一個技術叫ETL。這個過程就是數據從一個數據庫到了數據倉庫






