維度通常是一個數(shù)據(jù)記錄的屬性,度量是某一個維度根據(jù)特定聚合函數(shù)生成的值;group by 的屬性通常就是維度,計算的值則是度量。
事實表:存儲有事實記錄的表,如系統(tǒng)日志、銷售記錄等,事實表的記錄會不斷增長。
維度表:也稱查找表,是與事實表相對應的一種表;保存了維度屬性值,跟事實表做關聯(lián)。是對事實表上重復出現(xiàn)的屬性抽取、規(guī)范出來用一張表進行管理。如地區(qū)、月度、年度等。
data cube:數(shù)據(jù)立方體,原始數(shù)據(jù)建立的多維度索引,可以大大加快數(shù)據(jù)的查詢效率。
cuboid:某一種維度組合下所計算的數(shù)據(jù)。
cubsegment:針對源數(shù)據(jù)中的某一個片段,計算出來的cube數(shù)據(jù),cube是按照時間順序來構建的。
? ? 大數(shù)據(jù)事實表按照時間梯度的增量計算生成的cube,就是cubesegment,過多的segment會影響后期查詢性能,需要進行合并。
維度表設計
1、數(shù)據(jù)一致性,主鍵唯一性,kylin會檢查,如果不唯一,會報錯。
2、維度表越小越好,因為kylin會放在內(nèi)存中,默認的閾值是300mb
3、改變頻率低,kylin會在每次構建中試圖重用維度表的快照,如果維度表經(jīng)常改變,重用會失效。
4、維度表最好不要是視圖,因為需要對視圖物化,從而增加時間開銷。
維度基數(shù):維度在數(shù)據(jù)集中出現(xiàn)的不通值,如國家這個維度,如果有200個不同的值,那么此維度的基數(shù)就是200。基數(shù)超過100w的維度通常被稱為超高基數(shù)維度,需要注意。
如果一個cube的超高基數(shù)維度多,那這個cube膨脹的概率會很高。