場景下理解維度表,事實表,中間表

今天詳細介紹一下數據倉庫中的關於表的一些知識點:


什麼是數據倉庫?

數據倉庫是決策支持系統(dss)聯機分析應用數據源的結構化數據環境。提數據倉庫不得不提一下關係型數據庫,關係型數據庫主要是用來支撐即時操作,對數據庫的性能和質量要求都比較高,通常設計操作型數據庫的都要遵循3F範式的約束,具有ACID特性;而數據倉庫的數據是來源於即時操作產生的數據,數據倉庫的特徵在於面向主題、集成性、穩定性和時變性,遵循CAP理論,但是隻能滿足其中兩個,即CA或者CP或者AP。

註釋:
ACID:
1. 原子性(Atomicity) :整個事務(就是Transaction)中的所有操作,要麼全部完成,要麼全部不完成;
2. 一致性(Consistency):事務必須始終保持系統處於一致的狀態,不管在任何給定的時間併發事務有多少。
3. 隔離性(Isolation): 隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認爲只有該事務在使用系統。
4. 持久性(Durability):在事務完成以後,該事務對數據庫所作的更改便持久的保存在數據庫之中,並不會被回滾。

CAP:

  1. 一致性(Consistency):任何一個讀操作總是能讀取到之前完成的寫操作結果,也就是在分佈式環境中,多點的數據是一致的;
  2. 可用性(Availability):每一個操作總是能夠在確定的時間內返回,也就是系統隨時都是可用的。
  3. 分區容忍性(Partition Tolerance): 在出現網絡分區(比如斷網)的情況下,分離的系統也能正常運行

什麼是維度表?

維度表指的是分析角度,類似於業務系統的主數據表,比如“產品”、“用戶”、“時間”等。

什麼是事實表?

實事表類似於業務系統的交易數據表,比如“用戶購買明細”、“用戶開票明細”等。

那麼什麼是中間表呢?

簡單來說,中間表是數據庫中專門存放中間計算結果的數據表。

鑑於網上關於中間表的信息不算具體,中間表就多說一點。
中間表是如何出現的?

第一種情況,計算sql計算無法一步到位,需要經過複雜的設計,要經過幾個過度才能得到想要的結果。
第二種情況,實時計算所需要時間過長。或者因爲數據量大或者因爲計算太複雜,比如某一時間點前一段時間計算好結果,當到達改時間點使用中間表頂上。
第三種情況,當數據源比較多(通常情況),需要多表混合計算整合,這時導入數據庫形成中間表是必要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章