数仓建模 项目_模型设计_数仓建模 PDF 下载
主要內容:
數據倉庫
按照傳統的定義,數據倉庫是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持管理決策。
從數據角度,數據倉庫更適合傳統的數據庫,離線采集,數據一般為結構化的。
當然隨著數據倉庫數據采集的要求越來越高,數據倉庫本身也在不斷的改進。數據倉庫給企業留下的最大財富是企業數據模型,這些模型隨著前端業務系統的發展變化,不斷變革,不斷追加,不斷豐富和完善。
1、什么是數據建模
數據模型是抽象描述現實世界的一種工具和方法,是通過抽象的實體及實體之間聯系的形式,來表示現實世界中事務的相互關系的一種映射。在這里,數據模型表現的抽象的是實體和實體之間的關系,通過對實體和實體之間關系的定義和描述,來表達實際的業務中具體的業務關系。
數據倉庫模型是數據模型中針對特定的數據倉庫應用系統的一種特定的數據模型,一般的來說,我們數據倉庫模型分為幾下幾個層次,如圖 1 所示。
圖 1. 數據倉庫模型
通過上面的圖形,我們能夠很容易的看出在整個數據倉庫得建模過程中,我們需要經歷一般四個過程:
?業務建模,生成業務模型,主要解決業務層面的分解和程序化。
?領域建模,生成領域模型,主要是對業務模型進行抽象處理,生成領域概念模型。
?邏輯建模,生成邏輯模型,主要是將領域模型的概念實體以及實體之間的關系進行數據庫層次的邏輯化。
?物理建模,生成物理模型,主要解決,邏輯模型針對不同關系型數據庫的物理化以及性能等一些具體的技術問題。
因此,在整個數據倉庫的模型的設計和架構中,既涉及到業務知識,也涉及到了具體的技術,我們既需要了解豐富的行業經驗,同時,也需要一定的信息技術來幫助我們實現我們的數據模型,最重要的是,我們還需要一個非常適用的方法論,來指導我們自己針對我們的業務進行抽象,處理,生成各個階段的模型。
2、為什么需要數據倉庫建模
在數據倉庫的建設中,我們一再強調需要數據模型,那么數據模型究竟為什么這么重要呢?首先我們需要了解整個數據倉庫的建設的發展史。
數據倉庫的發展大致經歷了這樣的三個過程:
?簡單報表階段:這個階段,系統的主要目標是解決一些日常的工作中業務人員需要的報表,以及生成一些簡單的能夠幫助領導進行決策所需要的匯總數據。這個階段的大部分表現形式為數據庫和前端報表工具。
?數據集市階段:這個階段,主要是根據某個業務部門的需要,進行一定的數據的采集,整理,按照業務人員的需要,進行多維報表的展現,能夠提供對特定業務指導的數據,并且能夠提供特定的領導決策數據。
?數據倉庫階段:這個階段,主要是按照一定的數據模型,對整個企業的數據進行采集,整理,并且能夠按照各個業務部門的需要,提供跨部門的,完全一致的業務報表數據,能夠通過數據倉庫生成對對業務具有指導性的數據,同時,為領導決策提供全面的數據支持。
通過數據倉庫建設的發展階段,我們能夠看出,數據倉庫的建設和數據集市的建設的重要區別就在于數據模型的支持。因此,數據模型的建設,對于我們數據倉庫的建設,有著決定性的意義。
一般來說,數據模型的建設主要能夠幫助我們解決以下的一些問題:
?進行全面的業務梳理,改進業務流程。在業務模型建設的階段,能夠幫助我們的企業或者是管理機關對本單位的業務進行全面的梳理。通過業務模型的建設,我們應該能夠全面了解該單位的業務架構圖和整個業務的運行情況,能夠將業務按照特定的規律進行分門別類和程序化,同時,幫助我們進一步的改進業務的流程,提高業務效率,指導我們的業務部門的生產。
?建立全方位的數據視角,消滅信息孤島和數據差異。通過數據倉庫的模型建設,能夠為企業提供一個整體的數據視角,不再是各個部門只是關注自己的數據,而且通過模型的建設,勾勒出了部門之間內在的聯系,幫助消滅各個部門之間的信息孤島的問題,更為重要的是,通過數據模型的建設,能夠保證整個企業的數據的一致性,各個部門之間數據的差異將會得到有效解決。
?解決業務的變動和數據倉庫的靈活性。通過數據模型的建設,能夠很好的分離出底層技術的實現和上層業務的展現。當上層業務發生變化時,通過數據模型,底層的技術實現可以非常輕松的完成業務的變動,從而達到整個數據倉庫系統的靈活性。
?幫助數據倉庫系統本身的建設。通過數據倉庫的模型建設,開發人員和業務人員能夠很容易的達成系統建設范圍的界定,以及長期目標的規劃,從而能夠使整個項目組明確當前的任務,加快整個系統建設的速度。
3、如何建設數據倉庫模型
數據倉庫模型設計遵循“自頂向下、逐步求精”的設計原則。
建設數據模型既然是整個數據倉庫建設中一個非常重要的關鍵部分,那么,如何創建適合自己的數據模型。
3.1? 數據倉庫數據模型架構
數據倉庫的數據模型的架構和數據倉庫的整體架構是緊密關聯在一起的,我們首先來了解一下整個數據倉庫的數據模型應該包含的幾個部分。從下圖我們可以很清楚地看到,整個數據模型的架構分成3大部分,每個部分其實都有其獨特的功能。
圖2. 數據倉庫數據模型架構
待補充。。。
?基礎模型層:這部分數據來自于系統記錄域的匯總,數據模型在這里保證了分析域的主題分析的性能,滿足了部分的報表查詢。
?共性加工層:這部分數據模型主要用于各個業務部分的具體的主題業務分析。這部分數據模型也可以單獨存儲在相應的數據集市中。
通過對整個數據倉庫模型的數據區域的劃分,我們可以了解到,一個好的數據模型,不僅僅是對業務進行抽象劃分,而且對實現技術也進行具體的指導,它應該涵蓋了從業務到實現技術的各個部分。
3.2 數據倉庫建模階段劃分
我們前面介紹了數據倉庫模型的幾個層次,下面我們講一下,針對這幾個層次的不同階段的數據建模的工作的主要內容:
從上圖我們可以清楚地看出,數據倉庫的數據建模大致分為四個階段:
1.業務建模,這部分建模工作,主要包含以下幾個部分:
?劃分整個單位的業務,一般按照業務部門的劃分,進行各個部分之間業務工作的界定,理清各業務部門之間的關系。
?深入了解各個業務部門的內具體業務流程并將其程序化。
?提出修改和改進業務部門工作流程的方法并程序化。
?數據建模的范圍界定,整個數據倉庫項目的目標和階段劃分。
2.領域概念建模,這部分得建模工作,主要包含以下幾個部分:
?抽取關鍵業務概念,并將之抽象化。
?將業務概念分組,按照業務主線聚合類似的分組概念。
?細化分組概念,理清分組概念內的業務流程并抽象化。
?理清分組概念之間的關聯,形成完整的領域概念模型。
3.邏輯建模,這部分的建模工作,主要包含以下幾個部分:
?業務概念實體化,并考慮其具體的屬性
?事件實體化,并考慮其屬性內容
?說明實體化,并考慮其屬性內容
4.物理建模,這部分得建模工作,主要包含以下幾個部分:
?針對特定物理化平臺,做出相應的技術調整
?針對模型的性能考慮,對特定平臺作出相應的調整
?針對管理的需要,結合特定的平臺,做出相應的調整
?生成最后的執行腳本,并完善之。
從我們上面對數據倉庫的數據建模階段的各個階段的劃分,我們能夠了解到整個數據倉庫建模的主要工作和工作量,能夠對我們在實際的項目建設中起到很大幫助。
總結
以上是生活随笔為你收集整理的数仓建模 项目_模型设计_数仓建模 PDF 下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: else 策略模式去掉if_如何用卫语句
- 下一篇: 风号浪吼的读音 风号浪吼怎么读