一、前言
最近在設計資料倉庫的資料邏輯模型,考慮到海量資料存儲在分布式資料倉庫中的技術架構模式,需要針對傳統的面相關系型資料倉庫的資料存儲模型進行技術改造。設計出一套真正适合分布式資料倉庫的資料存儲模型。
二、事實表設計基礎
事實表記錄發生在現實世界中的操作型事件,其所産生的可度數值。事實表的設計完全依賴于實體活動,不受可能産生的最終報表的影響。事實表中,除數字度量外,事實表總是包含外鍵,用于關聯與之相關的次元,也可以包含退化的次元鍵和日期/時間戳。
三、傳統模式
以fs-ldm資料存儲模型event主題域資料存儲模型設計為例,其事件主題域資料邏輯模型結構如下圖所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnaukzN0cDNxIjM0QzM3EDNx8CX0ATNxAjMvwlN2kjN5QzLcVTMwIzZvxmYvwVbvNmLn9GbiRXauNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.jpg)
傳統模式的主要問題如下:如果資料量很小的情況下,執行多表關聯,沒有問題,但是當在分布式資料倉庫,單表存儲海量資料的情況下,很明顯模式将面臨挑戰。
三、分布式模式-次元模組化新原則
(1)以值代鍵:針對鍵值唯一的維表,除非必要,否則不引入維表,如ip位址維表,采用ip作為維表的主鍵,事實表中存儲ip值;
(2)合理分表:傳統關系型資料倉庫存在多表整合的沖動,如上圖event事實表,各種acount ind,finance ind等,用來擴充表的通用性,試圖把所有的資料都存儲到一張表 中。分布式資料倉庫的設計,恰恰相反,因為單表資料規模的問題,如果要滿足分析和處理的性能,合理的按照業務進行資料的分表存儲。如财務相關事件、賬戶相關事件,單獨成表。更有利于資料的計算和分析。
四、分布式次元模型執行個體
序号
字段英文
字段中文
字段解釋
字段映射
字段加工邏輯
名額字段
1
event_id
事件id
記錄辨別
辨別
2
tm
時間
時間戳
次元
3
domain
域
次元-值
4
ip
ip位址
5
os
作業系統
6
user_id
使用者id
次元-fk
7
date
日期
日期(新增)
8
from
來源
通路來源系統
五、未完待續
分布式資料倉庫資料存儲模型設計進行中,後續會持續更新,請關注qq群:分布式資料倉庫模組化 398419457。