數據倉庫是什么


數據庫是最常聽到的名詞之一了,但是當提到數據倉庫的時候,就會疑問,數據倉庫是數據庫嗎? 如果不是,數據倉庫是什么,用來干什么的呢? 平時遇到這個問題一般還真是不好簡單明了的回答,因為也的確不是一兩句話說的清的。那么數據倉庫到底是什么呢,跟數據庫有什么區別呢?

 

數據倉庫是什么呢?

數據倉庫是面向主題的 集成的 相對穩定的 反映歷史變化的數據集合,目的在於支持決策

  1. 面向主題

    • 面向主題跟面向應用相對應。面向應用是指實現某種功能,數據集合也是其單一功能的數據集。而面向主題是指為了實現某個主題而產生的一個或多個的面向應用的數據集合的整合。

    • 舉個例子,支付是一個面向應用的主體,而交易是一個面向主題的主體。因為交易是從下單,到支付等的一系列的過程的串聯,支付只是其中的一環。

  2. 集成
    • 數據倉庫的一個重要的功能是把不同的數據源的數據匯總到一起。
    • 集成是指把不同類型的數據源的數據進行整合,按照統一的形式進行集成。比如性別在一個數據源用男/女 另一個用1/2,那么在數據倉庫中我們需要對其進行統一。
  3. 相對穩定
    • 數據一般有一定的生命周期,歷史的數據一般不會再改變,我們可以采用增量的策略進行數據的傳輸和計算。比如看訂單的支付成功的相關信息,那么一旦訂單支付成功之后,這個訂單的支付成功相關的信息就不會在變更,所以此類的數據可以按天增量計算。
  4. 反映歷史變化
    • 由於在數據倉庫中可以存儲歷史的信息,那么就可以根據這些歷史信息進行數據的分析來反映歷史的變化。而操作型數據庫一般只會某些時間段的數據。

 數據倉庫跟數據庫有什么區別呢?

從數據倉庫的概念中也可以看出來數據倉庫做的事情確實跟數據庫不一樣。歸納起來如下

  1. 數據粒度不同。數據庫存儲的是操作型數據,是細節性的數據,事當前的數據,反應的是最后修改的結果。數據倉庫是分析型的集成或者匯總的數據,面向主題,並且保存數據的所有歷史狀態。
  2. 數據生命周期不同。數據庫存的數據的生命周期比較短,不會保存很久的數據。數據倉庫則需要歷史數據來反映趨勢的變化和數據分析。
  3. 建模方法不同。數據庫采用范式建模,不能有冗余。數據倉庫的建模方法有DW范式建模(跟數據庫的范式建模也不同)和DM維度建模等,可以存在冗余。
  4. 時間敏感度不同。數據庫的數據要求及時性非常高。數據倉庫可以容忍數據的一定的延遲。
  5. 目標不同。數據庫主要面向業務處理的,而數據倉庫則面向分析用戶。

網上引用比較多的對比表格

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM