資料倉庫和傳統資料庫的區別
一、傳統資料庫
每個人家裡都會有冰箱,冰箱是用來幹什麼的?冰箱是用來存放食物的地方。同樣的,資料庫是存放大量資料的地方。資料庫 (Database)是按照資料結構來組織、儲存和管理資料的倉庫。它具有資料結構化,資料共享度高,冗餘度低,易於擴充套件,資料獨立性高等特點。資料庫是為捕獲資料而設計的,它是面向事務的設計。它注重對事務的處理,比如對業務資料的增刪改查,對業務資料的查詢等等。資料庫一般儲存業務資料,常常作為實時業務系統的後臺,一般儲存著線上交易資料等等的資料
二、資料倉庫
資料倉庫是出於分析性報告和決策支援的目的而建立,它在我們已有的資料庫(它是對資料的儲存)的基礎之上,增加了對資料的OLAP(On-Line Analytical Processing),支援複雜的資料分析操作,更側重決策支援,提供直觀易懂的查詢結果,大概意思就是在資料庫已經大量存在資料的情況下,為了進一步方便地挖掘資料資源,對資料庫中的歷史資料進行遷移,細分,整理,分析。資料倉庫儲存的一般是歷史資料,常常是為了做離線資料分析
三、資料庫與資料倉庫的區別:
1.資料庫與資料倉庫的區別實際講的是 OLTP 與 OLAP 的區別。
OLTP(On-Line Transaction Processing),也叫操作型處理,也可以稱面向交易的處理系統,它是傳統的資料庫的主要應用,主要是基本的日常事務處理,通常對少數記錄進行增刪改查與查詢等等,如銀行交易
OLAP(On-Line Analytical Processing),也叫分析型處理,是資料倉庫系統的主要應用,支援複雜的分析操作,一般針對某些主題歷史資料進行分析,支援管理決策,提供直觀易懂的查詢結果
2.以銀行業務為例。資料庫是事務系統的後臺,客戶在銀行做的每筆交易都會寫入資料庫,被記錄下來,這樣,可以簡單地理解為用資料庫記賬。而資料倉庫是分析系統的資料平臺,它從事務系統獲取資料,並做彙總、加工,分析來為決策者提供決策的依據。比如,某銀行分行一個月發生多少交易,該分行當前的存款餘額是多少。如果存款又多,消費交易又多,那麼該地區就有必要設立ATM了。顯然,銀行的交易是巨大的,通常以百萬甚至千萬次來計算。事務系統是實時的,這就要求時效性, 客戶存一筆錢需要幾十秒是無法忍受的,這就要求資料庫只能儲存很短一段時間的資料。而分析系統是以後的,它要提供關注時間段內所有的有效資料。這些資料是海量的,彙總計算起來也要慢一些,但是,只要能夠提供有效的資料分析報表和支援管理決策就達到目的。
參考:
資料倉庫和資料庫的區別是什麼?-mysql教程-PHP中文網
4.Hive中的ODS、 DWD、 DWS、 ADS 數倉分層 - 理想三旬_z - 部落格園 (cnblogs.com)