2013年3月3日 星期日

資料倉儲自動學習的可能性


思考的源起
「為什麼花了那麼多錢引進資料探勘工具,但是產生的報表不能反應出現在市場的變化?並且因應市場的改變而產生新的報表?」朋友提出她老闆的疑問。加上肥蝦以往參與銀行業務應用系統的開發,在配合業主資料倉儲系統要求,客製化產出所需資料之時產生的疑問:「被要求匯入的資料已經在原有系統的報表中,並且更為完整與正確,為何還要再匯入別的系統?針對同一業務要求的資料,原有系統當初使用者的定義使用資料欄位與被要求匯入資料倉儲的資料欄位並不相同,如果出現誤差,使用者要以哪一份為準?」
因著以上的親身經歷,引發了肥蝦想進一步探討:
(1)可否從原有系統的資訊中產生資料倉儲系統建構的參考,
(2)資料倉儲可否能正確的反應業主顧客的使用現況,
(3)以及因應環境的改變進行適當的自動調整或調整建議。
為釐清與解決以上的要求,肥蝦以為就在系統建構上,系統應考量設法提供:
(1)如何建構一套反應現況資料倉儲系統的適當建議;
(2)是否可經由系統化的分析產生有助於使用者應用與分析的建議表報,
(3)資訊呈現的變化可否提供使用者相關變化的提示,並可進一步反應到現有的資料倉儲系統,並可以進行適當的調整建議。

資料倉儲建構的理論

資料倉儲系統肥蝦僅碰過一些,在這有限的資料倉儲建置或產品的接觸中,發覺使用者在意的是產生長官們要求的報表;資料倉儲系統販售的業者則強調特定系統可以滿足使用者的特定需要或目的。「既然都知道所需要的報表了,那為何不直接由原始資訊源產生,經由資料庫或系統之程式進行處理,由報表工具產生圖形或表報,再經由Portal展現或被動提供給使用者?為何要引進一套新系統,要重複匯入原始資料源?並且還有可能與原有使用報表互相差異呢?」
經由對資料倉儲的學習,瞭解了現行資料倉儲理論主要來自兩位大師-InmonKimball,其中Kimball的系統建構方式正是以往肥蝦所接觸的一般作法。
InmonKimball對於資料倉儲的觀念,就肥蝦的認知,任性的將之區別為:Inmon為建林就見樹;Kimball是建樹就見林。目前潮流中感覺上是以Kimball為主流,因為Inmon要建立整遍樹林,不但是因為困難度高,而且建置的時間與所需要人物力資源也相對更高。但是Kimball的方法也並不簡單,光要從眾多與龐雜的資料與多樣互異的系統中栽建顆雄偉的紅木檜樹也是非一朝一夕可成,只能說Kimball的方式較符合人的直覺與限制的條件。
Inmon的體系:

Kimball的架構:

應用系統的資料結構 vs資料倉儲的資料結構

「如果資料都來自同一套應用系統,為何還要另行建立資料倉儲的資料庫架構?」這是肥蝦一開始的問題!應用系統係架構在程序與資料上,因此應用系統的資料結構理論上已依照業務流程與需求,以及系統的效能與效率進行了正規化的建構分析,為了報表的需要也建立了相關的資料表格與應用系統程式,在硬體效能如此進步的今日又為何還要建立資料倉儲的資料庫結構?
Kimball的觀點中,維度模型或星狀結構是建立資料倉儲資料庫結構的基礎。商業行為發生的交易資料儲放於中心主體(事實表格-分析資料的來源);商業從事的主體與規則設定為關聯的表格(維度表格-分析資料的角度)。換言之,應用系統的資料分析把商業行為轉換為系統的行為;資料倉儲的資料分析則是把系統行為轉換為商業的行為。系統分析與設計是將商業主體()的行為過程與結果加以切割再切割,以符合資訊系統建置的目的要求;現在為了確實反應與探討商業主體()的作為與可能作為,資料倉儲反向把原本分散的資料以整合性的觀點進行串聯,這也是Inmon所言應用系統的資料缺乏整合性(Lack of integration)
因此,企業為了建置資料倉儲必須花比原先建立應用系統資料庫同等或更多的時間來建立一套新的資料結構,因為除了設法達成真實反應商業主體的(可能)行為外,又多了一像來自應用系統資料庫的限制-原始資料的代表性與完整性必須保留。

變是惟一不變的真理

在資訊消息爆炸、科技快速發展的今日,企業面對了更為快速轉變的環境。為了滿足消費者的需求,確保公司的永續經營,企業莫不殷切盼望能牢牢捉住消費者的心,因此所謂CRM顧客關係管理、Call Center客服中心、ERP企業資源整合,到BI商業智慧,其目的也就不外是瞭解客戶、迎合客戶與滿足客戶,進而獲取相當的報酬。
「變」的來源,就一個商業行為的主體來說,不外是(1)行為的改變、(2)行為內容的改變,以及(2)行為與行為內容同時改變。此處的行為改變可能肇因於法令、環境、景氣、等外在變化導致新的商業行為或者原有商業行為的消失,比如人民幣的開放,導致民眾可以持有人民幣存款。行為內容的改變指的是同樣的行為,但是行為的要求與數量發生改變,比如人民幣的開放,原有民眾可能減少了新台幣存款的持有。行為與行為內容同時改變,以人民幣開放就是一個典型的例子。

資料倉儲建置方法與可能問題

資料倉儲的建立總括而言有三種方式:(1)由上而下方式;(2)由下而上方式;(3)綜合方式。
(1)由上而下方式:就是依據特定目的與範圍建立一套資料倉儲,再抽取從現有系統資料。這比較像是Kimball的理論,先建立一個Data Mart,先建樹,等樹夠多了就再見林了。就比如公司引入一套KPI績效系統,績效指標可能先套用板模或特定人士的意見,再進一步考量指標所需要的資料,從現有系統攫取現有或修正後的資料。
(2)由下而上方式:參考公司整體目標,由顧問或資深人員探究現有系統相關資料,從中建立資料倉儲架構。這就像是Inmon建議的方式,先建林再見樹。在實務上,肥蝦尚未碰到這等專案,經驗中似可類比的知識管理系統的建立。
(3)綜合方式:就是上述兩者的合綜體。依據特定的目的與範圍,從現有系統相關資料,探索建立資料倉儲架構。
當然不管何種方式,建立資料倉儲都非易事,並且這三種方式都得就專案要求與商業需求(正確性、時間性、充分)中進行Trade-off。尤其當企業使用系統愈趨複雜,資訊化程度愈久,企業規模日趨龐大,資料來元愈多元化,企業缺乏完整有效的知識文件管理,市場環境變化愈趨激烈,將增加資料倉儲建置的難度。就算有著高層的全力支援,但在資料倉儲建置之時還是常常遭遇以下的問題:(1)缺乏對公司營運長、中、短期目標與商業需求的明確連結與闡釋。(2)缺乏資訊與商業間的完善溝通介面。 (3) 缺乏跨資訊系統的整合人才。(4)缺乏對原有資訊系統的完整瞭解。(5)缺乏商業需求與資料倉儲間的回饋反應流程。(6)內外在制度與法令的快速變更。

資料倉儲是否可以自動反應變化?

資訊系統常為配合行為的改變(常見於使用者提出的需求單),進一步進行改善或增修,以納入新的行為,因此資料倉儲也必須常常配合調整,以便提供使用者參考正確與最新的資訊進行分析與決策。為了快速反應環境的變化,滿足系統使用者的需求,並且減少系統反應與修改的時間,是否有可能縮短正規化資料庫到資料倉儲的時間?或者進而存在著半自動化或自動化的機制,經由資訊系統資料庫的轉變直接影響資料倉儲資料結構,自動提供新的維度觀點?


沒有留言:

張貼留言