搭建數據倉庫第05篇:邏輯建模–2–范式建模


目錄

  • 前言
  • 使用情景
  • 如何來范式建模
  • 使用的效果
  • 小結

 

 

前言

 

上篇講述了一些抽象的概念模型和邏輯模型設計的東西,接下來就該講述如何來一步一步的利用Inmon和Kimball數據倉庫的理論來建設數據倉庫的模型,主要分幾塊吧,一個是范式建模,然后是維度建模(分幾篇總結),最后是因地制宜,按照自己的平台來考慮如何綜合的考慮Inmon和Kimball數據倉庫的理論的應用。

Inmon最初的建模理論是通過構建一個符合三范式的集中式的數據中心DW層,此層次的表一般不對BI和應用開放,而是基於DW的數據構建數據集市DM層來對外服務。DM層的數據一般也采用范式建模,不過隨后融入了維度建模的思想,把DM層建設成星型模型。但是並未提出使用一致性維度。

本篇將會講述范式建模部分。當然3范式的概念也不再贅述,度娘全都有。

 

使用情景

 

提起數據倉庫建模,誰都會知道Inmon的以范式建模為理論基礎的集線器式建模,以及Kimball的以維度建模為理論基礎的總線式建模,關於這兩者這更好的爭論就不在這里陳述了。實際上,隨着數據倉庫的發展,現在兩種模型都在原來的基礎上再往同一個方向發展,最終大家都比較相似了,甚至出現的復合式的數據倉庫理論,將這兩種架構整合在了一起,充分利用了兩者的優點。

我個人的看法是,范式建模,有着維護數據的一致性,穩定性,可擴展性,減少冗余,同時也有着規范化但是不利於分析理解數據等的特點,這樣子完全可以把范式建模利用在ODS和DW層之間的中間層數據模型,因為這一層數據承載着DW層的數據,但又不會對用戶開放,放式建模完美的匹配上了。

 

如何來范式建模

 

范式建模采用的是3范式,而大多數的線上業務數據庫也遵循着3范式的規范,所以范式建模是推薦貼源(ODS)的,甚至簡單的業務情況下不需要中間層,直接使用ODS層即可。

當然對於如下情況我們還是建議通過范式建模來重新組織數據

  1. 業務數據庫的表沒有遵循3范式
  2. 有復雜的字段(比如json字段)需要解析
  3. 業務維度比較復雜,很難直接關聯取出所需的數據,比如業務X營銷體系=n

使用的效果

通過范式建模,可以

  1. 保證數據的一致性(因為采用完全不冗余的方式,避免了數據的不一致,比如出現 廣東 廈門的這樣不一致的記錄)
  2. 解耦方便維護,也提高了運行效率
  3. 針對復雜字段的解析和復雜業務的分解,有利於DW層的直接使用

小結

 范式建模不僅在線上業務數據庫中展現了強勁的風采,也在數據倉庫側發揮着重要的作用。范式建模的難度在於如何抽象業務,來進行DW建設前夕的准備工作。建好了這一層的數據模型,對於DW層數據的建設,將是大大的提高了效率和大大降低了復雜性。

 


免責聲明!

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



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