說說數倉(1) - 什麽是數倉
說說數倉(2) - 傳統數倉與互聯網數倉
說說數倉(3) - 數倉架構
說說數倉(4) - 指標字典
說說數倉(5)-最重要的維度之日期維度
說說數倉(6)-關於命名規範
說說數倉(7)-淺談數據治理
說說數倉(8)-關於增量
說說數倉(9)-上下遊約定
說說數倉(10)-任務註釋
話說,沒有規矩不成方圓。在搭建數據平臺的時候,在數據組內部,壹定要先制定好各種規範,越早越好,並且不斷的監督大家是否按照約定執行。壹旦讓大家自由發揮,後期想要統壹或者重構,會浪費很大的人力成本和時間成本,記住,這都是坑。
這裏以我目前公司的壹些經驗,分享下。
常規來說,數倉的建設是按照數倉分層模型開發的。也有會按照業務線來分層,在各自業務線下重新分層,單獨開發的。
我這裏使用的是阿裏雲的MaxCompute,這是阿裏提供的數據平臺,壹整套開發環境,用起來還是很方便的,省去了自建平臺的麻煩。MaxCompute裏面有壹個項目的概念,壹開始本來打算直接根據分層模型的設計來創建項目,但是由於某種原因,改成了按照業務線來創建項目。對於這個項目名,壹定要想好,不管根據什麽來設計,都需要想清楚,想明白,定了以後就不要再改了,也沒法改。
我忘記是不是叫“詞根”了,先寫著,後面找本書確認下。詞根屬於數倉建設中的規範,屬於元數據管理的範疇。哦,現在都把這個劃到數據治理的壹部分。
正常來說,完整的數倉建設是包含數據治理的,只是現在談到數倉偏向於數據建模,而談到數據治理,更多的是關於數據規範、數據管理。
接著說我們的主角-詞根。
我們學習英語的時候應該有了解過詞根這個東西,它就是最細粒度的最簡單的壹個詞語,我們主要用來規範中文和英文的映射關系。我們公司壹部分業務是關於貨架的,英文名是:rack,rack就是壹個詞根,那我們就在所有的表、字段等用到的地方都叫rack,不要叫成別的什麽。這就是詞根的作用,用來統壹命名,表達同壹個含義。
指標體系中有很多“率”的指標,都可以拆解成XXX+率,率可以叫rate,那我們所有的指標都叫做XXX+rate。
詞根可以用來統壹表名、字段名、主題域名等等。
表名需要見名知意,通過表名就可以知道它是哪個業務域,幹嘛用的,什麽粒度的數據。
中間表在創建時,請加上 ,如果要保留歷史的中間表,可以加上日期或者時間戳
指標的命名也參考詞根,避免出現同壹個指標,10個人有10個命名方法。
具體操作結合公司實際情況,規範及早制定。
附上之前我們再阿裏DataWorks上的壹個規範示例