早期的數據庫系統的設計目標是事務處理。數據庫系統是為記錄更新和事務處理而設計,數據的訪問的特點是基於主鍵,大量原子,隔離的小事務,並發和可恢復是關鍵屬性,最大事務吞吐量是關鍵指標,因此數據庫的設計都反映了這些需求。
數據倉庫的設計目標是決策支持。歷史的,摘要的,聚合的數據比原始的記錄重要的多。查詢負載主要集中在即席查詢和包含連接,聚合等操作的復雜查詢。
數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。
數據倉庫是一個優化的數據庫,用於分析來自事務系統和業務線應用程序的關系數據。事先定義數據結構和 Schema 以優化快速 SQL 查詢,其中結果通常用於操作報告和分析。數據經過了清理、豐富和轉換,因此可以充當用戶可信任的“單一信息源”。
數據湖有所不同,因為它存儲來自業務線應用程序的關系數據,以及來自移動應用程序、IoT 設備和社交媒體的非關系數據。捕獲數據時,未定義數據結構或 Schema。這意味着您可以存儲所有數據,而不需要精心設計也無需知道將來您可能需要哪些問題的答案。您可以對數據使用不同類型的分析(如 SQL 查詢、大數據分析、全文搜索、實時分析和機器學習)來獲得見解。
數據倉庫 |
數據湖 |
|
數據 |
來自事務系統、運營數據庫和業務線應用程序的清洗過結構化數據 |
來自 IoT 設備、網站、移動應用程序、社交媒體和企業應用程序的原始數據 |
架構 |
設計在數據倉庫實施之前(寫入型 Schema)。在存儲數據之前定義架構。這需要您清理和規范化數據,這意味着架構的靈活性要低得多。 |
准備使用數據時,就給它一個定義(讀取型 Schema)。在存儲數據后定義架構。這需要較少的初始工作並提供更大的靈活性 |
性價比 |
更快查詢結果會帶來較高存儲成本 |
更快查詢結果只需較低存儲成本 |
數據質量 |
可作為重要事實依據的高度監管數據 |
任何可以或無法進行監管的數據(例如原始數據) |
用戶 |
業務分析師 |
數據科學家、數據開發人員和業務分析師(使用監管數據) |
分析 |
批處理報告、BI 和可視化 |
機器學習、預測分析、數據發現和分析 |
優點 |
高並發 快速響應 干凈、安全的數據 多數據源集成 轉換一次,多次使用 |
數據存儲:大容量低成本 數據保真度:數據湖以原始的格式保存數據 數據使用:數據湖中的數據可以方便的被使用 延遲綁定:數據湖提供靈活的,面向任務的數據綁定,不需要提前定義數據模型 |