摘 要:本文探討了人保財險公司建立數(shù)據(jù)倉庫時如何進行數(shù)據(jù)導入的設計,闡述了數(shù)據(jù)導入的設計基礎和數(shù)據(jù)加載的策略。
關鍵詞:數(shù)據(jù)倉庫;抽?。患虞d
中圖分類號:TP311.13
在進行人保財險公司數(shù)據(jù)倉庫整體架構(gòu)的設計時,對數(shù)據(jù)庫的訪問必須保持較高的訪問效率,還必須滿足多個用戶對數(shù)據(jù)庫的并發(fā)訪問,這樣才能保證整個數(shù)據(jù)庫系統(tǒng)穩(wěn)定安全的運行。在數(shù)據(jù)倉庫的模型和結(jié)構(gòu)體系的設計確定之后,就應該具體實現(xiàn)數(shù)據(jù)倉庫。數(shù)據(jù)ETL是數(shù)據(jù)倉庫最重要最基礎的部分,也是數(shù)據(jù)倉庫數(shù)據(jù)處理正確一致、完整、可靠的技術保障。只有數(shù)據(jù)ETL具備良好的性能才能保證整個數(shù)據(jù)倉庫系統(tǒng)高效的運行,才能得到最終正確恰當?shù)臄?shù)據(jù)分析結(jié)果。
1 設計原則
(1)模塊化的系統(tǒng)設計。采用模塊化設計,首先可以嚴格區(qū)分管理控制和數(shù)據(jù)處理,其次采用松散度相對較高的模塊設計可以解決由于數(shù)據(jù)源不斷擴大導致系統(tǒng)必須進行不斷擴充才能滿足日益增加的系統(tǒng)擴展的需求的問題。
(2)統(tǒng)一的調(diào)配與控制。采用統(tǒng)一的調(diào)配與控制是為了給數(shù)據(jù)ETL的高效運行提供有力的技術管理保障。在統(tǒng)一管理模式的控制下,處于數(shù)據(jù)ETL每一個周期的任務狀態(tài)和運行情況及出錯信息都能直觀的顯現(xiàn)出來。
(3)高效的ETL加載策略。高效率的ETL加載策略,能夠縮短ETL的加載時間,從而提高ETL過程的效率。解決在數(shù)據(jù)導入層數(shù)據(jù)處理環(huán)節(jié)多,數(shù)據(jù)吞吐量大的問題。ETL的基本原則是盡量發(fā)揮Teradata在性能方面的優(yōu)勢,實現(xiàn)對大數(shù)據(jù)量進行數(shù)據(jù)統(tǒng)計、分析、匯合、改換等各種繁瑣計算的操作。
(4)安全的用戶管理。在數(shù)據(jù)倉庫數(shù)據(jù)ETL的整個運行過程中,不同的ETL環(huán)節(jié)都有數(shù)據(jù)的傳輸與交流,所以數(shù)據(jù)本身的安全性就顯得特別重要。只有對數(shù)據(jù)庫用戶的口令進行加密保護并妥善保存,才能保障在進行數(shù)據(jù)的加載與轉(zhuǎn)換時指定數(shù)據(jù)庫用戶的數(shù)據(jù)訪問的安全性。
(5)便捷的消息通知機制。ETL的設計體系應該有特定部分可以完成及時把任務的執(zhí)行情況通知負責ETL加載運行和維護的人員的功能,此項作用由消息通知機制來實現(xiàn)。消息通知機制采用郵件或短消息等形式,把每天ETL任務的執(zhí)行情況和出錯警報信息通知相關維護人員。
2 數(shù)據(jù)抽取
數(shù)據(jù)抽取是數(shù)據(jù)進入數(shù)據(jù)倉庫的第一項操作,數(shù)據(jù)抽取模式設計的是否恰當,決定了數(shù)據(jù)的數(shù)量是否合理數(shù)據(jù)的質(zhì)量是否能夠滿足使用需求。以下將探討增量抽取的技術方案,增量抽取是抽取系統(tǒng)不斷變化的數(shù)據(jù),這里將探討數(shù)據(jù)上次抽取和裝載任務完成后的日常抽取工作。技術方案的具體內(nèi)容是:
(1)時間戳,時間戳是為了記錄新記錄的加入時間和原有記錄內(nèi)容的調(diào)整時間及用戶的關聯(lián)信息,增量抽取數(shù)據(jù)時,可以查詢源表的時間戳就可以完成。
(2)掃描增量文件,由相應的應用程序自動生成增量文件,增量文件記錄數(shù)據(jù)應用過程中的變化,通過增量文件的內(nèi)容既可以獲得增量數(shù)據(jù)。
(3)掃描日志文件,日志文件內(nèi)記錄了最近發(fā)生變化的數(shù)據(jù)。
(4)設立觸發(fā)器,在源表中建立一個觸發(fā)器,每當在源表中插入、更新或刪除一條記錄時,即數(shù)據(jù)發(fā)生變化時,觸發(fā)觸發(fā)器,生成一個表或文件存儲新增加的數(shù)據(jù)或有變化的數(shù)據(jù);
(5)映像文件比較,用原有的映像文件與新生成的映像文件進行比較,從比較結(jié)果中分析獲取哪些數(shù)據(jù)發(fā)生了變化。
對幾種方案進行分析比較,采用增量文件的方案需購買其它相關廠商的產(chǎn)品;映像文件進行原有映像文件和新生成映像文件比較時,要耗費巨大的軟硬件資源才能夠?qū)崿F(xiàn),從技術角度考慮實現(xiàn)比較困難,一般不采用此方案;而時間戳、日志文件進行掃描和設立觸發(fā)器這三種方案實現(xiàn)比較容易而且性能比較高??紤]技術可行性和保險公司的數(shù)據(jù)倉庫需求,最后選用時間戳和觸發(fā)器相結(jié)合的方案實現(xiàn)數(shù)據(jù)的增量抽取功能。具體做法是對業(yè)務處理系統(tǒng)表的結(jié)構(gòu)進行調(diào)整,添加記錄的最后修改時間和數(shù)據(jù)提取時間等字段作為時間戳。當數(shù)據(jù)記錄有調(diào)整時,由觸發(fā)器負責實現(xiàn)把修改時間等信息記錄在業(yè)務處理系統(tǒng)表的時間戳字段。最后提取時間表的字段設計如表1所示。
表1 最后提取時間表字段設計
BeginStatDateDATETIME YEAR TO SECOND最后提取開始時間
EndStatDateDATETIME YEAR TO SECOND最后提取結(jié)束時間
EndAlterDaterDATETIME YEAR TO SECOND最后修改時間
FlagCHAR(1)標志字段
但是數(shù)據(jù)抽取也必須解決以下問題:
(1)數(shù)據(jù)信息不完整。例如有些數(shù)據(jù)為空值,是因為有時根據(jù)實際需要賦了空值,但數(shù)據(jù)查詢時空值無法完成,此時可以用默認值代替或用其它數(shù)據(jù)進行計算處理來生成等方式實現(xiàn)不完整信息的填充。例如,人員年齡字段為空值,可以由相應身份證號碼中的出生日期計算出來。
(2)拼寫不規(guī)則導致的錯誤數(shù)據(jù)。拼寫不規(guī)則主要是指在對同一字段的值進行填充時,有的大寫,有的小寫,還有的大小寫混等存在多種形式。此種錯誤數(shù)據(jù)處理比較容易,只需在數(shù)據(jù)ETL過程中調(diào)用相應字符轉(zhuǎn)換函數(shù)就可以完成。
(3)不符合商業(yè)邏輯。不符合商業(yè)邏輯的錯誤數(shù)據(jù)要靠商業(yè)規(guī)則來調(diào)整。商業(yè)規(guī)則的建立相對比較穩(wěn)定,不需經(jīng)常變動和修改,所以根據(jù)商業(yè)規(guī)則的內(nèi)容修正數(shù)據(jù)即可。
3 數(shù)據(jù)加載
對于數(shù)據(jù)倉庫高效的裝載要求是重要的,數(shù)據(jù)加載需要完成數(shù)據(jù)采用什么樣的順序裝入、如何清除失效或錯誤的數(shù)據(jù)、對過時數(shù)據(jù)進行處理、創(chuàng)建數(shù)據(jù)加載索引等工作。
加載策略如下:
(1)維表的增量加載??紤]維表的變化幅度與慢于事實表的變化幅度,可以采用慢速變化維表的設計思路,采用不同的處理方式,根據(jù)維表中不同的變化形式,對維表進行更新并對屬性的變化情況進行記錄和統(tǒng)計。在進行數(shù)據(jù)輸入時,要和數(shù)據(jù)表中的現(xiàn)有數(shù)據(jù)比對,通過自然鍵進行比較,如果比較結(jié)果是現(xiàn)有數(shù)據(jù)沒有相一致的情況,說明現(xiàn)有數(shù)據(jù)中沒有匹配的記錄,新記錄應該插入到維表中去。反之,說明已經(jīng)存在相應記錄,記錄應該更新或排除。
(2)索引的加載。在進行數(shù)據(jù)裝載時,也應該完成索引的高效加載工作。但考慮系統(tǒng)的運行效率,對索引的加載可根據(jù)情況推遲。綜合保險公司的業(yè)務流程與對數(shù)據(jù)管理的需求,考慮對數(shù)據(jù)準確與嚴密性的要求,在整個ETL過程中,還需要實現(xiàn)ETL任務調(diào)度和控制的自動化管理以及必要的數(shù)據(jù)質(zhì)量檢查處理。
數(shù)據(jù)倉庫ETL實現(xiàn)完成后,把原始數(shù)據(jù)加入數(shù)據(jù)庫,再把日常數(shù)據(jù)做入庫處理,數(shù)據(jù)倉庫就可以實現(xiàn)數(shù)據(jù)的分析工作。對產(chǎn)品銷售相關數(shù)據(jù)進行匯總,分析人員就能對數(shù)據(jù)進行挖掘,從而分析市場的方向和變化規(guī)律。對于保險公司來說,經(jīng)過數(shù)據(jù)挖掘與分析得到的數(shù)據(jù)能讓公司及時更新保險產(chǎn)品,從而更符合市場的需求,在眾多保險公司的競爭中處于不敗之地。
參考文獻:
[1]彭曉東.基于數(shù)據(jù)倉庫的綜合決策支持系統(tǒng)的設計研究[J].計算機工程與設計,2003.
[2]于莉莉.基于數(shù)據(jù)倉庫的決策支持系統(tǒng)[J].佳木斯大學學報,2003.
[3]徐潔磐.數(shù)據(jù)倉庫與決策支持系統(tǒng)——數(shù)據(jù)庫應用系列叢書[M].北京:科學出版社,2005.
[4]潘華,向同德.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘原理、工具、及應用[M].北京:中國電力出版社,2007:105-117.
[5]王豐華.保險公司數(shù)據(jù)大集中及應用對策[OL].http://www.rmic.cn/?uid-7364-action-viewspace-itemid-1485,2012,11,21.
作者簡介:杜素芳(1975-),女,河南濮陽人,講師,碩士,研究方向:軟件工程。
作者單位:濮陽職業(yè)技術學院,河南濮陽 457000