前言
傳統大規模資料倉儲發展計畫,其花費通常是數百萬美元以上,並需要許多個月、甚至許多年的設計和佈署,更糟糕的是,其規劃完成後真正成功的比率不超過六成。近來由於許多公司對於資料倉儲計畫有其極迫性,因此它們必須到處籌措大量資金,再加上網際網路電子商務不斷地、快速地變化,這些公司已經不太可能有那麼長的時間來等待一個資料倉儲發展計畫的完成。因此,一個嶄新的資料倉儲新趨勢便因應而生。本文將以Sybase的行業導向資料倉儲解決方案(Industry Warehouse Studio, IWS)和SAP的Business Information Warehouse為例,說明這兩種資料倉儲解決方案在企業上的應用。
這兩者均是預先建構好的(pre-configured)資料倉儲,它們之間唯一的不同點在於SAP的Business Information Warehouse的資料大部分會來自SAP R/3 ERP資料庫,因此,對於SAP R/3 ERP的使用者而言是個幾乎可立即部署的資料倉儲。若是用戶的資料是來自各種不同的資料源,則兩者的理念一致。為便於說明,我們將以較為一般性的Sybase解決方案做為例子來討論。
建置良好的資料倉儲策略
各公司都希望能有一個快速、有效率的資料倉儲策略,Sybase的解決方案就是:Sybase和兩個工業領導者一起針對這種需求而合作開發,該解決方案採取針對各特定行業別的方式來大幅降低執行一個資料倉儲策略的時間。這種方式採取的是與資料庫系統獨立的方式,因此使用各種主要資料庫的用戶都得以佈署他們的資料倉儲策略,以確保該公司與其客戶得以更為緊密地合作並保持競爭優勢。
Sybase的IWS與各公司現有的營運系統相互補,並可讓各線經理作出一些策略決定。IWS對每一個行業內的工作流程、衡量基準、報表需求、術語和資料型態等均採取一種共通的處理方式,以共通的應用樣板(Application Template)形式來捕捉資訊,並將它們反應在一個為每一行業而設計的共同實體資料庫中。應用軟體、行業特定需求和資料庫等都是在交貨時就已經預先建構在伺服器內了。一旦安裝該產品後,客戶只須根據自己的特殊需求做小幅度的調整即可部署一個資料倉儲。該產品的主要元件如下:
●行業導向的實體資料庫模型
●行業導向的決策支援應用樣板
●常用的商業查詢
●資料庫設計工具套件
●Metadata儲存所(repository)和網際網路客戶端
Sybase IWS的架構
Sybase IWS商業套件雖然是由一些不同的部分組成的,但它們彼此是整合的,如(圖一)顯示了IWS架構中的各個元素。
IWS的資料結構
IWS為選擇的垂直行業提供一個資料倉儲設計,可立即部署到資料庫管理系統上。針對特定行業的設計大大減少客戶自行設計資料倉儲和撰寫報表所需的時間。由於每個機構都有其自己分析資料的特定方法,因此每一個特定的導入都可能需要某種程度的調整資料庫設計以適應該機構的需求。
IWS資料結構在設計上是允許容納高層次的細節資料,因此將細節記錄儲存在一個IWS資料庫是有可能的,例如儲存電訊公司的通話細節記錄或信用卡的購買細目。因為若要資料倉儲可回答所有的可能問題,這些細節是必需被記錄的,若沒有儲存這些細節資料,要回答某些問題時就必須存取營運系統的資料或重新設計一個複雜的系統,這將是吃力不討好的事。
資料庫架構
Sybase IWS的資料架構由幾個層次組成,如(圖二)所示。最裡面三個層次是做為此架構的一部分,最外層則是作為客戶化(Customization)過程的一部分。
整個資料庫設計是畫分為一些次模型(Sub Model),每一個次模型代表一個特定的商業分析領域,如客戶群分析或銷售分析等,每一個次模型亦是由一系列的資料庫表格所組成,以提供該商業領域的資料儲存需求。任何一個資料庫表格都有可能用於許多個次模型中。例如:客戶表格在客戶群分析次模型以及銷售分析次模型中都會用到。
每一個次模型同時也代表一個架構上類似一個Star Schema的模型,雖然它可能會含有若干個事實表格(Fact Table)。一個事實(Fact)代表發生的某個特定事件。例如:上星期三你把某個產品賣給客戶了嗎?客戶是否有打電話來?通話的持續時間是多長?這些都是事實。IWS在模型中也根據Ralph Kimball在其「The Data Warehouse Toolkit」一書中所提議的Conforming Dimension設計方式廣泛的利用一些共同的表格。
核心模型
核心模型是IWS資料架構的核心,由近70個表格所組成。它包含許多行業都會用到的一些次模型(表格和景觀)。因此IWS中的每一個垂直行業除了包含該行業的特殊次模型以外,還包含有這些共同的核心模型表格、景觀和次模型。
因此這個核心模型為那些需要跨越一個以上行業的資料倉儲提供了一個基礎。在今天的全球商業環境中,對許多行業都有興趣的組織機構是越來越多了,例如:一個金融服務機構可能對零售銀行(Retail Banking)、信用卡和資本市場有興趣,甚至可能對某些保險和投資產品有興趣。IWS的核心模型允許一個公司將不同垂直行業的模型在一個單一的企業資料倉儲內相連結。這使得在許多行業上同時營運的機構得以使用IWS來為他們整個企業的分析建立一個共同的資料架構。
垂直模型
每一個特定行業在IWS中都有其自己的垂直模型,它們是與核心模型緊密結合的。在垂直模型內的次模型例子包括零售銀行的銀行帳戶交易和保險理賠等等。
聚集(Aggregate)
聚集層次由在系統中的所有聚集表格(Aggregated Table)所組成,它有兩個主要的目的:增進效率和處理變老舊的資料(Aging Data)。在IWS中提供了一些效率導向的聚集,而有些聚集則需要在客戶導入(Customization)的過程中加入,處理變老舊的資料的方法則需要依IWS客戶的特定需求自行加以客戶化(Customized)。
聚集是增進資料倉儲的效率的主要方法之一,此方法是將一些彙總資料儲存起來,以便能快速地回答一些常問的問題,例如:如果經常要知道各銷售地區和分支的銷售總額,那麼將這些彙總資訊儲存在聚集表格內是很合理的做法,直接存取這些彙總資訊,要比讓資料庫每次重新讀取所有資料來進行彙總是要快得多了。IWS除存儲存細節的原始資料以外,還儲存許多每月的彙總資訊,這些表格可以直接使用或為特定的資料倉儲實行的需求而加以客戶化。
將老舊的資料加以聚集彙總,是有效控制資料倉儲所需磁碟空間的一個方法,隨著資料逐漸變老舊,它對商業的價值也逐漸減少。雖然儲存大量的交易細節資料是不實際的,但將變老舊的資料加以聚集彙總也許是很有用的,例如:超過五年的資料可以彙總到每月的層次,而超過十年的資料則可以彙總到每季的層次。
回饋資料(Feedback data)
回饋資料是商業用戶完成分析後儲存的結果資料。例如:為了制定預算數字,可能透過一個前端工具把一個公式套用到現有的資料以推知未來的數字,該產生的資料如果有價值,便可以儲存在資料倉儲中以便做進一步的分析。IWS含有許多回饋表格,例如:可利用查詢的結果來建立行銷活動的目標客戶,不過這大部分將是客戶化過程的需求。
外部資料
外部資料是企業外的組織機構所提供的資料,它們可能包括了市場研究資料、行業分析者或政府機關提供的經濟或人口統計資料等,這些資料應該儲存在個別的表格群裡,再與其他的資料整合。將外部資料個別儲存是較審慎的做法,因為沒有方法可以保證它們與企業自己的資料會有相同的格式、相同的規則性或相同的明細度(Granularity)。此外,外部資料的來源也有可能會有中斷或終止的可能。
與工具相關的表格
與工具相關的表格是一些管理工具所需要用到的特定表格,例如:前端報表工具可能需要在資料庫中以特定的格式儲存一些資料或Meta資料,這些表格是依選擇的工具而定,因此並不是IWS架構的一部分。
跨平臺的支援
在IWS內的資料庫架構可以部署到任何標準的關連式資料庫引擎上,包括:IBM DB2、Oracle 8i、Informix Extended Parallel Server、Microsoft SQL Server、Sybase Adaptive Server Enterprise或Adaptive Server IQ等。IWS的資料倉儲設計工具所提供的功能可將這些資料架構自動地轉換成所要使用的關連式資料庫引擎的格式。這個轉變過程會處理在資料定義語言(DDL)、資料型態上的不同語法和不同的名稱限制等。
根據所選擇的目標資料庫引擎,此資料庫架構可能需要某些微調動作以充分利用各特定資料庫管理系統的效率特徵,例如:如果資料庫引擎有特定的索引技術或最佳化的儲存結構時,必須將它們做為客戶導入(Customization)過程中考量的一部分。
結論
預先建構好的資料倉儲已經成為一個新的趨勢,在時間和金錢的雙重考量上,已使得傳統由零開始的大型資料倉儲設計變得越來越不可能,可以預見的,將來類似這些預先建構好的資料倉儲產品將會越來越普遍。