Hadoop 之上的數據建模-Data Vault 2.


problem #4: The Business Domain:

業務分析需求多樣化。

人工智能與機器學習當下火熱的兩個領域,分析需求是多樣化而且多變性的。

每個學習模型需要的數據格式,可能都需要大量隨時可靈活變化。而機器學習專家們是不會去做數據收集這麼繁瑣的工作,理解他們的需求就變的更有成本。往往給非所需,詞不達意。這是更需要數據模型的靈活性建模,在每個需求變化了之後,原先模型都能快速轉變為可用的數據原型,供數據科學家使用。


problem #5: Flexibility

綜合前面四點,我們要做的就是彈性化的設計方案,ETL ,Data Modeling ,分析與報表都要彈性化。需求隨時有變化,上游數據結構也會隨時變化以適應需求的更改,因此作為數據應用下游的數據倉庫,在設計方面需要考慮到靈活性與可擴展性。而整個數據倉庫設計的中心,就是數據建模。一來數據模型是 ETL 的目標結構,可以說 ETL 的設計就是基於數據模型而開展的;二來數據模型是數據分析的基石,決定了報表邏輯以及機器學習等數據挖掘工具的數據輸入格式。


以及 Data Vault 對這幾個現實問題的解決方案


problem #1 : The one constant is change, so how well can an EDW/BI solution adapt?

我們將實體分為三種存在形式:一是實體的 key 值,二是實體的屬性值, 三是實體的 relationship(關係)。Data Vault 2.0 將這些都分開存儲,解決了耦合的複雜度,變得更加靈活與可擴展,也就是彈性化程度更高了。

key, relationship都是固定的幾列值,相對穩定。

實體的屬性值是可以隨時變化的,而這種變化反映在Data Vault 2.0 模型上,就是增加幾個列。

所以可擴展性非常高。


problem #2: big data

傳統的 BI 工具,在ETL 方向上是需要做髒數據處理的,比如刪掉一些不符合邏輯的數據。而 Data Vault 2.0 是基於客觀事實做的數據增量抽取,不做邏輯校驗,因此可以大規模的抽取和處理數據,更符合大數據特徵。


problem #3: Complexity:

傳統的 BI 工具,建模會有很多的可變性,比如 SCD(Slowly Change Dimension), Fact 表的多變性。而 Data Vault 2.0 就只有 Hub, Link, SAT(Satellite), Link-Satellite 表。區分清楚這些表,剩下的重點就只有設計和調度 ETL了。在建模這一步反而更簡單了。


problem #4: The business Domain:

我們不應該把 Data Vault 當做處理髒數據的地方,他僅僅是反映了上游系統數據的真實性,無論是正確還是邏輯錯誤的數據,都應該在 Data Vault 數據倉庫裡面反映出來。基於Data Vault 2.0 模型,很快就可以生成業務分析需要的數據模型。這才是需要處理驗證邏輯的地方。


problem #5: The Flexibility

Data Vault 2.0 是聯合了 Six Sigma, TQM, SDLC 制定的符合 SEI/CMMI Level 5的標準。有著更短的發佈週期,一般2-3周即可發佈。因此更快更方便的更替業務需求。


分享到:


相關文章: