iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 28
1
AI & Data

打造 Microsoft BI 資料服務平台系列 第 28

[28] : Case Study~錯誤示範篇:先做再說,疊層架屋變成怪獸行動緩慢,打掉重練

2019/10/14

資料平台架構的重要性,這裡不舉成功案例,也不介紹理論做法,我們實際用一個錯誤的失敗案例提供大家參考參考。

1. 整體事件描述

我們的客戶是一個零售業者,自有品牌的連鎖商店,北中南和全球各地都有分店,銷售自家設計的產品,每年都會有各式各樣的促銷行動,節慶檔期,會員折價,當地活動,搭配整合,各式各樣的活動檔期,銷售數據,促銷成本,整體效益,歸納檢討,所有促銷活動的資料整理與統計,這是一件非常繁瑣,也需要資料統計分析的能力,以及綜合歸納的呈現討論檢討報告,常常 MIS 人員和行政助理小姐在每次活動結束後就需要加班一個禮拜整理這些相關的資料和報表,提供業務人員和主管做檢討改進會議報告,這樣的事情每一年,每個月,甚至每一週都在重複發生中,所以,IT 和 MIS 技術人員想要透過 BI 視覺化資料分析工具來解決這樣的問題。

2. 找到好方法了

IT 和 MIS 技術人員參加了多場的資料分析相關研討會,也觀察研究 survey 了很多資料分析相關工具,決定選用 Power BI 來製作視覺化分析圖表報告,選用的原因不外乎:

  1. Power BI Desktop 可以免費使用
  2. Power BI Desktop 比較接近於使用者慣用的 Excel 工具
  3. Power BI Desktop 學習起來比較容易快速

所以 IT 和 MIS 人員就開始學習,並且嘗試著開始使用 Power BI Desktop 製作資料分析視覺化圖表報告,首先,先從系統中的資料庫撈取分析所需要的部分資料到 Power BI Desktop 之中,各地分店,或是活動當下產生的數據在 Excel 檔案之中,也一併匯入 Power BI Desktop,透過 Power BI Desktop 提供的資料分析函數,統計計算彙整資料,使用視覺化圖表產生了使用者容易了解的分析報告,業務人員和主管都非常滿意,於是,開始設計很多 Power BI Desktop 資料分析的報表檔案 pbix 檔,分享給所需要的業務人員,行政管理,或是主管長官,讓不同的使用者都可以直接分享開啟 Power BI Desktop 報表。

3. 悲劇發生了

但是,一兩年之後,隨著時間漸漸的越用越久之後,資料量越來越龐大,資料來源也越來越多樣化,使用者也熟悉 Power BI Desktop 分析工具的進階使用,使用了越來越多的數據集成、匯總、統計的函數,計算量越來越大,某年某月的某一天,悲劇發生了,就在業務人員和主管檢討會議報告之上,Power BI Desktop 呈現的視覺化報表,一個報表需要一分鐘才能跑出來,做一個地區查詢或是日期時間過濾,都需要跑超過 30 秒以上,就在會議上,主管撂下狠話:「我們促銷活動賺那麼多錢,為什麼開會討論要在這邊傻傻的等電腦跑報表,我們用不起更好的電腦嗎?」,隔天,IT 技術人員就被叫進辦公室,開始討論要怎麼解決這些問題。

IT 檢討會議報告結論:

  1. 資料越來越龐大,資料來源越來越多,光靠 Power BI Desktop 一台 Notebook 處理不了,是不是先換一台 Memory 大一點的 Notebook 來跑跑看。
  2. Power BI Desktop 設計的報表越來越複雜,使用了非常多資料統計、集成、匯總的計算函數,也是先換一台 CPU 好一點的 Notebook 來跑跑看。(因為業務用的電腦比較弱一點,報表跑的時間就會比較慢)
  3. 是不是把一張大的報表切割成多張小報表來設計,但是使用者操作上就必須切換操作,比較麻煩。
  4. 歷史資料越來越多,舊的 Power BI Desktop 分析報表檔案也越存擋越多,這也需要磁碟儲存空間來存放,因為使用者還是會偶而查看舊資料。
  5. 資料零散來自各地分店,來自很多其他系統,資料格式不一,資料整合沒有做,所以 Power BI Desktop 也花了很多時間在做資料整理計算的作業。
  6. 每次活動的資料格式不一,不同的業務人員或主管長官想要的資料分析報表不同,這樣就必須要重新設計或是修改視覺報表,造成時間壓力上的困擾。

以上,大致列出 IT 檢討會議的報告,呈報給公司的 CTO,CTO 決定找外面的資訊顧問公司來做一次 Power BI 的總健檢,所以,這時候就輪到我們上場了。

4. 健檢結果建議

首先,在我們初步了解問題之後,我們建議先不要看 Power BI Desktop 的 Issues List,先從資料分析技術架構介紹起,這樣我們跟技術人員才會有相同的語言,才會有相同的角度來看這些問題與討論,所以,我們先跟 IT / MIS 技術相關的人員介紹了 Power BI 應用架構,也把 Power BI 資料模型的最佳化設計方法介紹給客戶,另外,資料服務平台的架構也是我們介紹的重點,讓我們的客戶知道資料分析服務平台架構的規劃設計應該有哪些部分,需要注意哪些地方,應該要有哪些步驟。

接下來我們就開始討論客戶發生的問題 Issues List,來來回回的討論內容和項目,我們就不多說了,這裡直接列出我們給客戶的健檢結果建議內容:

  1. 更換 Notebook:這是治標不治本的,可能剛開始會快一點點,但是一樣會隨著時間,隨著報表的複雜度長大而越來越慢。(想要先爭取時間改善,可以先更換 notebook 擋著先)
  2. 資料架構的問題:只使用 Power BI Desktop 來做資料的所有事情,一定會很慢,包括從資料的匯入,資料的集成,資料的處理,統計歸納的計算,視覺化的呈現,資料的過濾與查詢,這些都要在 Power BI Desktop 上面來處理一定會造成電腦計算上的負擔。
  3. 資料模型結構的問題:資料結構設計不佳,造成資料處理和資料查詢上的執行效率不彰。(這個我們在之前的文章有介紹過,就不多做說明)
  4. 硬體伺服器環境的問題:本地機房的維護與存取速度,報表在查詢或執行的時候,無法保證一定的硬體和網路環境的品質,也可能造成執行速度上的問題。

想要解決資料分析疊層架屋,或是資訊系統越來越複雜龐大,資料量越來越多,資料樣式越來越多樣複雜,這些資料服務架構,或是資料分析應用上的問題,都不是一時三刻可以解決的,也不是新起一個專案來就可以解決這些問題,總歸一句話,資料分析服務應用對企業來說是一件長期永久的事情,循序漸進,慢慢改善,精進結構,延伸架構,這樣的方式才能好好的規劃擴展企業的資料分析服務應用的資料平台。

5. 客戶目前進行的改善行動

我們的客戶經過我們的建議,也陸陸續續討論的幾次的資料架構會議,客戶已經進行了資料的總盤點,將某一些主題相關的資料彙整到雲端的 Azure SQL Database,透過 Power BI Service 雲端服務來使用分析報表的呈現與分享,這已經解決了部分的 Power BI Desktop 報表分享和執行速度上的問題。(而且雲端的規劃與架設,非常的方便快速,短短的時間我們就能先解決部分的問題了)

目前,客戶正在依主題分別規劃資料模型之中,將資料集成和處理的作業,預計透過 Azure Data Factory 的作業流程包裝來解決,這樣可以接著把企業組織中的資料先做一個彙整,建立企業數據分析資料倉儲的資料架構。

接下來,建議客戶建置資料分析模型,將資料結構重新整理過一次,重新把資料虛擬化,然後在依照商業主題和領域分開設計資料分析模型,這需要花比較多的時間來做規劃和設計,因為把資料重新打散虛擬化,然後依照商業邏輯組合成資料模型,再使用 Power BI Desktop 設計視覺資料分析互動報表,發布到雲端服務來做儀表板和報表分享的服務。

PS : 客戶目前持續的慢慢規劃演進企業的資料服務平台架構,使用資料數據分析來精進企業營運管理上的輔助與行動,透過資料數據分析來達成企業數位轉型的行動,目前正在進行式當中,持續的演進正向發展。


上一篇
[27] : 設計資料模型的兩三事~設計模型時,有些事情應該要注意
下一篇
[29] : Case Study~經驗分享篇:走過的路,遇到的事,看到的天空
系列文
打造 Microsoft BI 資料服務平台30

1 則留言

0
wang47
iT邦新手 5 級 ‧ 2020-04-23 16:32:27

從錯的例子中學習更好懂, 謝謝分享~

我要留言

立即登入留言