数据粒度的设计
================================================================================================================
從時間的角度講:簡單說粒度就是事實表里測量值的測量‘頻率’。比如說,銷售庫里的銷售額,可以是一?天一個值,也可以是一個月一個值,甚至一年一個值,這就是相對于時間維度表的力度;可以是一個商品一個值,也可以是一類商品一個值,這就是相對于商品的粒度。
粒度就是同一維度下,數據的粗細程度;
考慮到時間維度在數據倉庫中相對比較特殊,另外舉個例子。
以“組織結構”為例,比如我們的一個層級結構式:總公司,分公司,部門,科室。
這就是不同的粒度級別。
實際應用中,比如有人問,你的某個報表粒度是怎樣的。
我們可以說,組織結構我們的報表呈現是到分公司級別的,但是我們的數據粒度是到科室的(也就是你的事實表中,層級聚合到科室級別)。
所以我們就也能支持到之上的“粗”粒度,如總公司,分公司,及部門
如果我們的數據粒度是到分公司的,那明顯我們的報表就不能支持下級粒度的數據展現。
也就是說,粒度不夠“細”。
當然,粒度的也不是越細越好,要綜合分析。
比如如果我們這一層級的需求,都是針對于分公司級別的,不需要往其下級部門的深化。那么粒度就到分公司即可。
畢竟粒度越細,事實表的數據量也會越大。
?
總結一下:
可以將數據看成是有粘性的沙粒,粒度小的沙粒比較細,粒度大的沙粒是由粒度小的沙粒粘起來的,即粒度高的數據是由粒度低的數據綜合起來的.在數據倉庫環境 中,粒度是一個重要的設計問題,他影響到數據倉庫的數據量和系統能回答的查詢類型,粒度越小,細節程度越高,能回答查詢就越多,但是存儲的東西也就越多.
轉載于:https://www.cnblogs.com/neversayno/p/5137055.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: leetcode第一刷_Construc
- 下一篇: App开发(Android与php接口)