資料倉儲系統是一個與企業同步發展的有機體,資料模型作為資料倉儲的靈魂必須提供可擴充的能力,在進行資料模型設計時必須考慮未來的發展,更多的非核心業務資料可以方便的加入到資料倉儲,而不需要對資料倉儲中原有的系統進行大規模的修改。
一、資料倉儲建模的原則
模型是對現實事物的反映和抽象,它可以協助我們更加清晰的瞭解客觀世界。資料倉儲建模在業務需求分析之後開始,是資料倉儲構造工作正式開始的第一步,正確而完備的資料模型是使用者業務需求的體現,是資料倉儲項目成功與否最重要的技術因素。
金融企業的資訊系統具有業務複雜、機構複雜、系統龐大的特點,因此金融行業資料倉儲建模必須注意以下幾個方面,
—— 滿足不同使用者的需求
金融行業的商務程序十分複雜,資料倉儲系統涉及的業務使用者眾多,在進行資料模型設計的時候必須兼顧不同業務產品、不同業務部門、不同層次、不同層級使用者的資訊需求。
資料倉儲應該支援企業的各種業務,比如對財產保險行業應該考慮財產險、貨物運輸險、工程險、責任險等不同業務的特點;不同的業務部門對資訊的需求各有不同,應考慮業務、市場、財務、管理等各個部門的需要;不同層次的組織所關心的資訊不同,資料模型應支援地市公司、省公司和總公司的資訊需求;金融企業是知識密集型的企業,知識密集型企業的顯著特徵是智能員工(Knowledge Worker)占企業員工的大多數,資料倉儲必須支援所有相關智能型員工的資訊需求,包括高層領導、基層領導和普通員工。
—— 兼顧效率與資料粒度的需要
資料粒度和查詢效率從來都是矛盾的,細小的資料粒度可以保證資訊訪問的靈活性,但同時卻降低了查詢的效率並佔用大量的儲存空間,資料模型的設計必須在這矛盾的兩者中取得平衡,優秀的資料模型設計既可以提供足夠詳細的資料支援又能夠保證查詢的效率。
—— 支援需求的變化
使用者的資訊需求隨著市場的變化而變化,所以需求的變化只有在市場競爭停頓的時候才會停止,而且隨著競爭的激化,需求變化會越來越頻繁。資料模型的設計必須考慮如何適應和滿足需求的變化。
—— 避免對業務運營系統造成影響
金融企業的資料倉儲系統是一個每天都在長大的龐然大物,它的運行很容易佔用很多的資源,比如網路資源、系統資源,在進行資料模型設計的時候也需要考慮如何減少對業務系統效能的影響。
—— 考慮未來的可擴充性
資料倉儲系統是一個與企業同步發展的有機體,資料模型作為資料倉儲的靈魂必須提供可擴充的能力,在進行資料模型設計時必須考慮未來的發展,更多的非核心業務資料如人事資料、市場資料、競爭者資料等必須可以方便的加入到資料倉儲,而不需要對資料倉儲中原有的系統進行大規模的修改。
二、資料模型的技術功能結構化分
大規模的資料倉儲系統特別是金融行業資料倉儲的資料結構從技術角度劃分應當包含三個部分,如所示,
資料倉儲資料模型的技術功能劃分
2.1 分段儲存區(Staging Area)
由於資料倉儲中的資料結構和組織方式具有很大差異、所有原始業務系統的資料必須經過嚴格的抽取、映射和轉換,資料的整合過程十分複雜,通常會耗費比較長的處理時間。如果從業務系統直接抽取資料到資料倉儲,必定會佔用許多業務系統的資源和時間,為了避免影響業務系統的運行,我們在資料模型的設計中引入分段儲存區的概念。
分段儲存區(Staging Area)是為了保證資料移動的順利進行而開設的階段性資料存放區空間,它是業務系統未經處理資料進入資料倉儲前的緩衝區。需要進入資料倉儲的各個業務系統的資料首先直接快速傳輸到分段儲存區,再從分段儲存區經過清洗、轉換、映射等複雜的資料移動處理轉移到目標資料倉儲中。從業務系統到分段儲存區的資料轉送,應盡量避免進行複雜的資料處理,以保證資料的快速匯入而盡量減小對業務系統造成的壓力。分段儲存區的資料有關聯式資料庫和檔案兩種不同儲存方式,分別對應於不同運營系統的資料來源。資料成功匯入資料倉儲之後,應清空分段儲存區中的資料。
在資料倉儲系統的運行和使用過程中,分段儲存區的作用主要體現在以下幾個方面,
• 可以減少對業務系統資源的佔用,避免複雜資料轉換對業務系統的影響
• 根據經驗,跨越網路特別是廣域網路的資料庫操作會大大降低資料處理的效率,而且處理的複雜程度越高,網路對處理效率的影響越嚴重,分段儲存區可以大大加速資料倉儲後台資料資料處理過程的實現;
• 分段儲存區作為資料緩衝區,可以在一定程度上屏蔽業務系統變化對資料移動整合系統的影響
• 如果在資料處理過程中發生系統故障,作為資料倉儲系統的備份資料,可以直接從分段儲存區進行資料倉儲資料恢複,而不必要再從業務系統未經處理資料開始。
2.2 基礎資料倉儲(BaseLine)
基礎資料倉儲儲存所有最詳細的業務資料。該層資料直接來源於對分段儲存區資料的清洗和加工,屬於未經匯總的資料,但資料的組織方式可能已經完全不同於原始的業務系統。根據業務需求的不同,基礎資料倉儲的組織形式以三範式模型為主,在有的系統中也可能採用星型或雪花模型。
通常在金融企業的資料倉儲系統中,基礎資料倉儲資料包括未經匯總的客戶交易資料,使用者資料資料、客戶服務資料等,此外一些相關資料如網路利用,競爭者,成本投資資料也包括在內。由於基礎資料倉儲資料是對原始業務資料的原形再現,所以資料量會非常龐大,根據不同業務的需要資料保留的時間在6個月到兩年不等。
2.3 資料集市(Data Mart)
根據業務需求將資料倉儲資料分類成幾個不同的資料集市,每個資料集市完成不同的分析和查詢需求,資料集市中的資料通常由基礎資料倉儲的詳細資料彙總而來,根據資料彙總程度的不同包含輕度彙總、中度彙總和高度彙總三種不同的層次。匯總的方式將依據資料量的大小和使用頻度綜合考慮。
三、概念性模型
資料模型設計的第一步是對使用者需求的歸納,需要綜合考慮業務劃分和使用者組織兩方面的問題,在明確需求的基礎上,可以進行邏輯資料模型的設計,大致需要經過分為三個步驟,高層模型設計即概念性模型設計,確定資料倉儲的主要主題及相互關係;中層模型設計明確各主題域的實體;底層模型設計明確各個實體的屬性。本章以國內某財產保險公司的業務為例介紹財產保險行業的資料倉儲建模。
3.1 財產保險業務與公司組織機構
是國內財產保險公司的主要組織機構,
國內財產保險經營的主要保險業務如下,
• 機動車輛保險
• 家庭財產保險
• 企業財產保險
• 建築安裝工程保險
• 貨物運輸保險
• 船舶保險
• 航空航天保險
• 其它保險
3.2 資料倉儲概念性模型
目前保費收入還是國內財產保險企業的主要利潤來源,在激烈的市場競爭中客戶是競爭的焦點,在資料倉儲中客戶資訊佔有極為重要的地位;圍繞著客戶資料資訊,客戶的投保記錄、索賠記錄都具有極高的分析價值;另外夥伴對保險業務的開拓也具有重要地位,如保險代理人、經紀人等中介公司的相關資訊。
3.2.1 基礎資料倉儲
基礎資料倉儲用以儲存詳細的業務資料,採取以客戶資訊為中心,各個業務環節資料為基礎的中心-發散型結構,系統面向經營分析,以經營業務資料為主,如所示,
3.2.1.1 基礎資料倉儲概念性模型介紹
—— 客戶資料
負責儲存使用者的詳細資料,主要的客戶屬性包括,客戶ID、使用者第一次投保時間、資料更新時間、業務類型、使用者特徵屬性、使用者類型、繳費情況、投保情況、信用情況、保費收入水平等等。客戶資料主題的資料主要針對企業使用者和大客戶,在可能的情況下,盡量體現客戶間的關係,比如某一家庭財險使用者隸屬於某一企業客戶。客戶資料資料體現最新的客戶狀態。客戶資料永久線上儲存,當客戶資料發生變化時,舊的客戶資訊被轉移到客戶曆史資料庫中。在每一個客戶的生命週期中,客戶資料隨時可能發生變化,客戶曆史資料資料詳盡的記錄每一次變化的細節,為以後客戶信用評估和使用者行為分析需求提供依據,客戶曆史資料永久線上儲存。
—— 客戶投保記錄
以詳細的保單資料為主,體現在某一時間段內客戶的投保情況。由於資料量比較龐大,客戶投保記錄一般在資料倉儲中線上儲存兩年,最長不超過五年。投保記錄是業務分析最重要的資料基礎,必要的時候,投保記錄可以為很多業務提供資料支援,比如大客戶管理等。
—— 客戶繳費記錄
記錄使用者投保後保費的繳納情況,從中可以瞭解保險公司與每一個客戶在不同業務的應收情況。是對業務發展的重要衡量依據,也是對客戶群進行細分的重要指標。不同保險企業對繳費記錄線上儲存的時限要求不同,一般在一年以上,五年以下。
—— 客戶索賠記錄
客戶索賠記錄是過去客戶每次索賠的詳細記錄,比如索賠金額、時間、保單號、立案號、險種、索賠清單、索賠單證、事故描述等,索賠記錄是客戶行為模式的重要組成,也是反欺詐分析、客戶流失分析的重要依據。
—— 客戶賠付記錄
記錄保險公司對每一個客戶的每一筆賠付,主要的資訊包括賠付時間、立案號、賠案號、單證、賠付計算情況、損失原因、賠付金額、是否通融賠付、通融賠付的原因和通融賠付金額等,與索賠記錄相結合,可以瞭解保險公司對客戶索賠的反應時間和處理速度
—— 客戶退保/退費記錄
瞭解使用者退保和退費的情況,每一筆退保/退費的原因、時間、保單號、金額等等
—— 中介資訊
描述中介公司的類型,比如經紀人、兼職代理人或專業代理人,各中介公司的業務量、保險公司之處的中介費用等等。
3.2.1.2 基礎資料倉儲概念性模型的實現
概念性模型的意義在於體現使用者的需求和基本的資料群組織結構,在實際的設計過程中,可能需要根據實際的業務情況進行模型的拆分。比如客戶資料模型,針對不同客戶的情況拆分成企業客戶、個人客戶、集團個人客戶;投保記錄模型,根據不同的業務拆分成車險投保記錄、財產險投保記錄、運輸險投保記錄、船舶險投保記錄等,
根據不同業務情況設計業務主題
3.2.2 資料集市
詳細業務資料是資料倉儲的基礎,但對於金融企業來說,對業務發展宏觀情況的把握是比詳細的客戶分析更為迫切的需求。所以在初期任何金融行業資料倉儲的應用都以對彙總資料的分析為主。彙總資料存放區在資料集市中,資料集市的資料直接通過查詢工具提供給終端使用者,所以資料集市的設計直接關係到資料倉儲應用的成敗。現階段,我國大多數金融資料倉儲系統正處於初始階段,其主要功能需求是瞭解各省分公司、子公司和各項業務的發展和運營情況,因此資料集市的設計是資料模型設計最重要的環節。資料集市的資料結構可以按照資料粒度和資料所體現的業務範圍劃分。
3.2.2.1 按照資料粒度劃分
資料集市按照資料粒度的大小可以劃分為三個部分,輕度匯總、中度匯總、高度匯總,匯總程度越高,資料粒度越大,資料線上保留時間越長,所體現的業務事實越宏觀,如所示,
按照資料粒度劃分的資料集市結構
輕度摘要資料可以支援很多對客戶個體的業務分析,比如從基礎資料倉儲投保記錄匯總產生每個使用者一段時間的投保情況;中度摘要資料在業務分析中經常被用到,大多數情況用於對宏觀客戶群體的業務分析,比如制定保費政策時,可以通過中度摘要資料瞭解不同險種不同時間的發展和收益情況;高度摘要資料用於瞭解保險公司業務整體的運營和發展情況。在實際的設計中,可以根據使用者需求決定針對不同的業務採用不同的資料粒度。
3.2.2.2 按照業務劃分
按照業務進行資料集市結構的劃分,可以把資料集市從總體上分為兩個模組,綜合業務分析模組和獨立業務分析模組,如,
按照業務劃分的資料集市結構
—— 綜合業務分析
綜合業務分析主要面向保險公司整體業務的分析,從綜合業務分析可以瞭解保險公司的使用者構成情況、中介發展情況、業務收入情況、賠付情況、共保/分保、客戶服務、保費收入情況和競爭者發展情況,從綜合業務模組可以瞭解各個業務的總體發展情況,但由於各個業務屬性的差異,詳細的業務分析必須進入獨立業務分析模組。
—— 獨立業務分析
財產保險各業務、各險種的業務特點具有極大差異,對不同險種業務人員所關心的資訊也不盡相同,所以各個業務在獨立業務分析模組構成不同的分析主題;除此之外對有共性的業務進行綜合構成綜合的業務分析主題,比如個人大客戶分析、企業客戶業務分析就是把相關的業務主題進行綜合的結果。
四、發展與擴充
資料倉儲資料模型的設計在滿足目前業務需求的基礎上,必須考慮未來的業務情況和需求,需要認真考慮兩方面的問題,
• 適應未來業務需求和技術環境的改變
• 資料倉儲本身涉及業務範圍的擴充
4.1 適應未來的變化
分段式資料倉儲結構可以大大提升資料倉儲適應變化的能力。在未來可能對資料倉儲產生影響的變化無外乎兩種,
• 業務需求的變化引致對資訊需求的變化
• 技術環境的變化
4.1.1 適應業務需求的變化
使用者需求的變化根據變化的程度和對資料倉儲系統的影響被分為兩個不同的層次,
—— 可自適應的變化
即資訊的需求雖然有所變化,但利用已經儲存在資料集市中的資料仍然可以支援,需要改變的只是資料訪問和資訊展現的方式,這不需要對資料倉儲的資料結構進行修改就可以實現,在進行資料模型設計時,在保證查詢效率的前提下,要盡量使各個業務主題可以滿足最多的資訊需求。
—— 需要調整的變化
即資料集市的資料雖然無法滿足資訊的需求,但可以從基礎資料倉儲中的資料獲得,針對這樣的變化有兩種處理方法,
• 如果這個變化只是偶爾出現,可以直接從基礎資料倉儲的資料中進行資料的查詢和分析,這樣可能會犧牲一些效能,但不需對資料倉儲的結構和資料模型進行修改
• 另一種方法是針對以後將頻繁使用的新業務需求,可以採取修改現行資料集市和建立新的資料集市的方法實現,由於資料集市只是對基礎資料倉儲中相關的詳細資料進行彙總,所以只需要很小的工作量就可以調整資料倉儲實現新的需求。
4.1.2 適應技術環境的變化
技術環境的變化也是比較普遍出現的變化,比如業務系統的升級或遷移,可能對資料倉儲的結構造成較大影響,分段儲存區和基礎資料倉儲的使用,把這種風險降到最小。
分段儲存區是業務資料進入資料倉儲之前的緩衝區,複雜的資料轉換、清洗工作在分段儲存區進入基礎資料倉儲時實現。當業務系統的資料結構發生變化時,可以利用從業務系統到分段儲存區的資料幫浦操作把這些變化與資料清洗轉換操作隔離即在對新的業務系統進行資料幫浦操作時,進行適當的資料結構轉換,使分段儲存區中的資料與原來保持一致,避免對資料倉儲的資料結構和主要的幕後處理程式造成影響。從業務系統到分段儲存區的資料幫浦程式只需十分簡單的修改就可以實現需要的功能。
4.1.3 中繼資料管理的意義
中繼資料管理系統可以大大提高資料倉儲系統適應變化的能力。中繼資料記錄資料倉儲過程中設計的商務規則、資料結構、資料移動規則等,一旦上述某一點發生變化,可以通過中繼資料管理工具,進行影響分析,定位需要修改的目的。