《FOCUS資料管理》年終總結
這是我從工廠出來的第五個年頭,也是我第一次主動寫年終總結;
回想這一年來一點成就都沒有,想想都有點後怕;而且每天還是幹著同樣的事情,容易被新手代替,由於我比較厭煩每天重複的幹同樣的活,所以我開始思考是否有系統能幫我幹活或者幫我處理掉大部分工作來提高工作效率和解決問題的速度。我的工作是每天處理不同的資料問題,這些資料幾乎是整個企業的資料整合,所以得建立資料倉庫來管理企業資料支援企業各層次的業務需求。
建資料倉庫大部分是體力活,看在體力活的面子上我萌發出一個想法,把體力活讓系統來完成。這個想法就是《FOCUS資料管理》的第一個版本《BI專案管理》,它能幫我管理資料庫、SSIS(ETL)、SSAS。經過不知道多少個凌晨終於有了《BI專案管理》,通過在公司專案上一段時間的使用,覺得《BI專案管理》的功能不過完善;決定推倒重新開發《FOCUS資料管理》。
《FOCUS資料管理》最初的設想是分為四個模組:(一)系統配置管理,(二)內部資料採集,(三)內部資料管理,(四)外部資料管理。我想大部分人看到這些名稱就知道這些模組的功能作用;
系統配置管理:用於管理系統引數、業務SQL語句配置、許可權控制。
內部資料採集:用於幫助解決企業沒有主資料系統或者管理企業基礎字典規範。
內部資料管理:用於管理資料倉庫元資料、資料處理過程監控、多維分析模型分解、隨時提取資料等。
外部資料管理:開放介面用於企業需要的外部資料提取並整合為企業內部的資料倉庫。
截止到19年1月中旬已經完成系統配置管理和內部資料管理模組。這裡我介紹一下內部資料管理模組如何提高我的工作效率;
首先登入《FOCUS資料管理》
資料庫表結構
資料字典管理:
資料字典可以說是資料倉庫的命門,資料倉庫可以被刪除但是資料字典不能沒有,很可惜的是95%以上的BI專案都沒有資料字典,即使有也只是佔時的可能你們是用excel或word一個一個的記錄,更改變化記錄多了慢慢的就不會在去記錄。在資料倉庫建立的過程中它是從各個業務系統中提取幾百上千個欄位及幾十張表組合而成,這些欄位不是固定的隨著業務的需要會對資料倉庫進行修改;人的天性是懶惰的我也不例外,隨著資料倉庫的壯大,各種事情越來越多,就不會去記錄這些欄位的中文描述或含義。
不管你的資料倉庫分為幾層,那麼我們必須層層管理,即使你的資料倉庫有業務層我們也的對業務層資料庫進行資料字典管理。我現在已經成為了一種習慣只要是要我去接手的資料庫我第一件事就是對它逆向工程。《FOCUS資料管理》中的資料字典管理很簡單,只要連線你的資料庫伺服器就行了,可以對伺服器上的任何資料庫、任何表進行資料字典管理,如果沒有表說明、列說明就直接在資料字典管理中進行增、刪、改就行了,而且這個是隨時可以開啟查詢的。
資料空間管理
資料空間相當於你的房間,當你房間裡面的東西越來越多的時候是不是會考慮多租一間,同時也會產生很多垃圾把房間搞的很髒這時你就會清理,這就是資料空間管理的作用。當資料行和表空間達到一定的量級資料庫的效能會越來越慢,這時就應該考慮分割槽或者分表;索引空間也是一樣,當表在不斷的增加資料時二叉樹演算法會產生很多索引碎片拉低查詢速度,這時就應該重建索引。
資料欄位空值率
不管是業務庫還是資料倉庫只要資料欄位出現空值就應該警惕,可能業務庫會容許大量欄位有空值,這就直接導致了資料倉庫沒幾個分析維度屬性可以使用。資料倉庫中的欄位空值一定要小心、要小心、要小心,重要的事情說三遍。空值的後果就是直接導致資料不準確,如果運營部門、管理層、決策層沒有看出來資料是錯的,拿著從資料倉庫中提取的資料做了一些決策,這樣後果會很嚴重。如果能提前知道欄位空值把它處理掉或者能說出為什麼是空值,後面就不會跟業務部門各種扯皮。資料倉庫中有幾百上千個欄位怎樣才能知道哪些欄位有空值?《FOCUS資料管理》提供了一鍵出結果,直接告訴你哪個表哪個欄位總行數空值行數佔比而且資料庫任你選。
資料表關係
我發現很多人都不願意給表做外來鍵,以前我也不太喜歡做外來鍵,因為外來鍵讓人非常痛苦,後來我明白不做外來鍵讓人更痛苦,這個只能自己體會。
SSIS監控
請閱讀:
SSAS管理
SSAS確實為很多企業提供了很好的決策服務,但是建立一個企業成熟的多維分析服務專案不是一時半會就能搞定,也不是半年一年就能成功;它需要至少三到五年才能與企業各個部門融合,讓企業文化認可,需要成熟的商業分析師和技術專家配合才能做得好BI專案;成功的BI專案非常少。一般情況下BI人員流動性很大,挖牆腳的到處都是;專案人員流失不能及時招人頂替,源源不斷的業務需求只好堆積在那裡,招到人後只給一兩天的時間熟悉專案看下文件就要上手幹,那文件就是個四不像,一百多張表、一千多個計算量值、幾百個指標,招到人後也容易把人給逼走。有很多人覺得是PM不合格,不是你學了PMP就能管理好專案帶得好團隊。培養一位合格的BI人才不容易,培養一位合格的BI專案經理更不容易,在培養很難流失容易的環境下讓新來的隨時拿到專案最新的文件、隨時檢視之前專案人員完成的工作包。唯一的辦法就是對資料倉庫、SSIS、SSAS逆向工程而且是隨時逆向工程。
維度資料
SSAS逆向工程能拿到CUBE的每一個維度及維度屬性的值。這些維度資料有什麼作用?基礎資料也就是主資料。
事實資料
SSAS逆向工程能拿到CUBE的每一個量值組的值,而且這個量值組對應的維度鍵同時帶出來,這些資料就是業務部門、管理層需要的、代表業務場景的指標資料,雖然大類沒有出現在這裡但是經過簡單的處理就很方便拿到。
模型管理
我在《匯流排矩陣》中寫過:匯流排矩陣也是BI核心之一,基本上只要詳細瞭解企業業務戰略線就能得出匯流排矩陣,它對應著企業每一個業務單元,提取業務單元中的一致性維度和事實量值組組合成企業匯流排矩陣也就是多維分析模型;匯流排矩陣也是BI專案實施交付的必要成果之一,它與資料倉庫的概念模型非常吻合。
下圖是通過人工處理得到的,現在《FOCUS資料管理》中可以自由選擇專案和模型就能得到矩陣圖,雖然還有一點點技術問題沒有解決。解讀一下下圖:量值組就是指標類別、維度就是指標的分析角度,下面的維度屬性就是分析角度中的因子;意思就是說你想看某個指標只要找到對應的維度紅點下面對應的維度屬性,也就是說同指標找不同的維度組合、不同的指標找同維度組合。在專案初期可能做了維度和量值組個十個左右很容易掌握,隨著越來越多的業務部門和需求加入到BI專案中,專案不斷擴大,需求越來越廣,越來越難以駕馭,也許你最多做過不超過30個維度和量值組的專案,你是無法想象80多個量值組、50多個維度、600多個指標這樣的專案,之前的人走了新來的不敢動。
計算量值
量值是對應真實業務場景的指標,得到每一個指標不是單純的彙總,它必定是多個分支組合而成或者再計算如:最後一個非空值、非重複計數、半累加等。我以前給一個有600多個指標的專案修改一個量值組,我花費了兩天還沒有搞定,修改過程中不是在找關聯的量值就是在找關聯量值的路上,內部錯綜複雜還涉及到 資料倉庫和ETL,也許是我從其他行業專案調過去對業務不瞭解,其實關鍵原因是專案文件四不象有跟沒有一樣。
資料自由查詢
拿起保溫杯泡一杯枸杞菊花茶後繼續。SSAS通過各種比或率監控到業務出現問題,這時業務會找你拿明細資料,SSAS的優點是展現業務指標讓你發現問題,而不能很好的同時向下鑽取檢視明細資料。平時業務部門或領導們想要一些臨時資料,你很負責任的拿著小本本記錄他們的需求,思考需求取數的邏輯,寫完十幾個表的關聯幾十行SQL,跑完資料給他們,他們說取的資料不是他們想要的那種或者需求有變或者不用這些資料了,此時你大腦中的幾十行SQL突然變成幾十只草泥馬 閃閃而過。發現問題的指標明細資料 和 業務需求的臨時資料 都能用業務語言描述的很清楚,那麼是否有一種用業務語言查詢資料的方法就是讓資料需求人員自己用業務語言拿資料,把業務說完立馬出來他想要的資料。
配置查詢源
要以業務語言去查詢資料庫那必須要準備好業務模組對應的表。《FOCUS資料管理》中用配置查詢源來管理和配置資料來源方案,這裡你可以選擇與業務模組有關的任何資料庫任何表來作為資料來源。做好資料來源方案後就可以自由查詢。
自由查詢
自由查詢很簡單,只要在配置查詢源選好表,查詢源就會在右下角下拉框出現,這裡你可以自由選擇查詢源,選擇玩查詢源後最上方就會出現查詢源中的所有表字段元資料,你可以任意選擇你業務需要的欄位,然後點選重新整理按鈕下方就會出現資料,重新整理完按鈕後你就可以開始選擇你需要的業務資料的條件例如:你需要租一間位置在天河區租金1000到2000元而且是簡單裝修的房子;選擇完條件後點擊重新整理按鈕,你想要的資料就出來了就這麼簡單。如果你想把這個方案儲存下來方便下次查詢那就點選儲存按鈕輸入你的方案名稱就會在方案區域出現你儲存的方案, 你可以隨時重新檢視資料。
任何專案開發比較簡單,但是後期維護和修改就很難,因為開發和維護及修改並不是同一個人或著是同一個團隊。《FOCUS資料管理》對BI專案提供了後期維護和修改的專案文件,就是對專案實時逆向工程隨時獲取專案各種資訊。做專案就是在源源不斷的獲取原來的資訊為現在的業務需求實現做準備,所以管理好業務層、標準層、倉庫層資料結構資訊,監控好ETL,隨時檢視SSAS組成成分以及問題指標明細資料和臨時需求資料讓需求人員隨時自己用業務語言可以查,就能減少你工作中百分之六七十的工作,這樣你基本上可以同時搞的兩個專案,這並不能滿足我的想法,我的想法是SSAS能不能不要人工去做有沒有隻要配置就能出來SSAS,ETL能不能不要人工去做有沒有隻要業務人員自己像自由查詢一樣選擇欄位描述條件就能打包成SSIS每天自動跑數,資料倉庫能不能不要人工去做有沒有隻要業務人員自己像自由查詢一樣取各個業務系統選擇要提取的欄位選擇好後自動生成資料倉庫;說完我的想法感覺自己都要失業了。