楊勝利
摘 要:對于CRM系統(tǒng)而言,最重要的是全面豐富準確的客戶數(shù)據(jù),在數(shù)據(jù)中心建設過程中ETL技術和數(shù)據(jù)庫技術是關鍵的兩個方面。作者以自己參加的期貨CRM項目為依托,闡述了期貨CRM數(shù)據(jù)中心建設及ETL系統(tǒng)設計,對ETL技術的研究,ETL系統(tǒng)的設計和實現(xiàn)是本文研究的重點。
關鍵詞:ETL技術 期貨CRM 數(shù)據(jù)中心 規(guī)劃與設計 數(shù)據(jù)庫
1. ETL技術
ETL是將分布的、異構數(shù)據(jù)源中的業(yè)務數(shù)據(jù)經過抽取、轉換、清洗后裝載到數(shù)據(jù)倉庫的過程。
典型的ETL工具具備數(shù)據(jù)抽取、數(shù)據(jù)轉換、數(shù)據(jù)加載、元數(shù)據(jù)管理、數(shù)據(jù)質量保證、調度與監(jiān)控、異常錯誤管理等功能。數(shù)據(jù)抽取是從多種異構數(shù)據(jù)源獲取符合需求的數(shù)據(jù)過程,在一個ETL系統(tǒng)中,最起碼包括全量數(shù)據(jù)抽取、增量數(shù)據(jù)抽取兩種抽取模式;數(shù)據(jù)清洗與轉換從數(shù)據(jù)源中抽取的數(shù)據(jù)不一定能完全滿足目的庫的要求,可能存在數(shù)據(jù)格式不一致、數(shù)據(jù)不完整、字段含義不一致、空值等問題,并且還需對數(shù)據(jù)進行聚合、匯總、統(tǒng)計等操作,數(shù)據(jù)清洗和轉換過程是按照預先設計好的規(guī)則對抽取的數(shù)據(jù)進行處理并消除冗余、歧義、不完整、違反業(yè)務規(guī)則的數(shù)據(jù),以滿足目標數(shù)據(jù)的數(shù)據(jù)模型和數(shù)據(jù)質量的要求;數(shù)據(jù)加載是ETL流程的最后一個步驟,即將轉換完的數(shù)據(jù)按照目標數(shù)據(jù)模型定義的表結構加載到目標數(shù)據(jù)庫系統(tǒng)中。
2.期貨CRM
期貨CRM是指以客戶為中心,恰當?shù)靥峁┢谪洰a品和服務,提高客戶的滿意度,最大限度地減少客戶流失,實現(xiàn)客戶和期貨公司的雙贏。應用上主要實現(xiàn)客戶關系管理、客戶服務管理、市場營銷管理、居間人管理及相關數(shù)據(jù)統(tǒng)計分析等,主要的業(yè)務需求:整合客戶資源、客戶分析與管理、統(tǒng)一營銷管理、整合資訊和研報。
3.數(shù)據(jù)中心
CRM最關注的是客戶數(shù)據(jù),只有豐富全面的數(shù)據(jù)才能反映客戶的需求。數(shù)據(jù)中心建設是CRM的基礎關鍵所在,作為數(shù)據(jù)中心,其在整個信息化體系中,主要發(fā)揮以下作用:將傳統(tǒng)以業(yè)務為導向的數(shù)據(jù),加以采集、清洗、轉換,成為以客戶為導向的數(shù)據(jù)組織;形成以客戶為中心的數(shù)據(jù)檔案形式;為后臺提供多形式的應用服務;為統(tǒng)計分析、數(shù)據(jù)挖掘提供基礎支撐。
數(shù)據(jù)中心系統(tǒng)結構分為ETL、中心數(shù)據(jù)庫、數(shù)據(jù)服務及管理程序四個子系統(tǒng)。ETL模塊主要負責數(shù)據(jù)的抽取、清洗和轉換,是數(shù)據(jù)中心建設的基礎,該模塊采用自主研發(fā)的ETL系統(tǒng)實現(xiàn)。中心數(shù)據(jù)庫用于存放經過數(shù)據(jù)抽取系統(tǒng)清洗轉換后的數(shù)據(jù),并作為數(shù)據(jù)服務系統(tǒng)的數(shù)據(jù)來源。中心數(shù)據(jù)庫需要滿足對海量數(shù)據(jù)、高性能、高可用性和擴展性的支持,本項目采用ORACLE RAC數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)服務采用主動推送和服務訪問兩種方式互相結合,對外圍業(yè)務系統(tǒng)提供數(shù)據(jù)支持。管理程序對系統(tǒng)中涉及的各個應用程序進行統(tǒng)一的狀態(tài)監(jiān)控、統(tǒng)一的日志查詢,同時用于管理數(shù)據(jù)中心的歷史數(shù)據(jù),數(shù)據(jù)庫的日常備份等。
4. ETL規(guī)劃與設計
根據(jù)金融期貨數(shù)據(jù)中心的特點,本項目ETL系統(tǒng)采用自主研發(fā)形式實現(xiàn),整個ETL由采集AR、采集AS、數(shù)據(jù)抽取組件、數(shù)據(jù)轉換組件、數(shù)據(jù)采集服務器組成。ETL體系結構如下。
(1)采集流程。ETL系統(tǒng)支持多個抽取程序并發(fā)處理,數(shù)據(jù)采集服務器向采集AR發(fā)出采集命令,采集AR再將采集命令路由到采集AS,由采集AS完成相應數(shù)據(jù)源的數(shù)據(jù)抽取工作,并將數(shù)據(jù)傳送到數(shù)據(jù)采集服務,這些數(shù)據(jù)經數(shù)據(jù)采集程序清洗轉換最終將數(shù)據(jù)存放在數(shù)據(jù)中心,以方便其他系統(tǒng)使用。
(2)數(shù)據(jù)抽取模式。系統(tǒng)支持實時、日終和歷史三種抽取模式:實時數(shù)據(jù)抽取是指主要用于實時監(jiān)控功能;日終數(shù)據(jù)抽取是指抽取清算后的數(shù)據(jù)信息;歷史數(shù)據(jù)抽取是指將數(shù)據(jù)源中指定日期的歷史數(shù)據(jù)抽取到數(shù)據(jù)中心。
(3)數(shù)據(jù)清洗轉換。數(shù)據(jù)轉換的任務主要進行不一致數(shù)據(jù)的轉換,數(shù)據(jù)粒度的轉換,以及一些業(yè)務規(guī)則的計算,如空值處理,數(shù)據(jù)類型不一致處理,將細粒度數(shù)據(jù)聚合成粗粒度數(shù)據(jù),業(yè)務規(guī)則計算,等等。系統(tǒng)數(shù)據(jù)清洗轉換通過兩種方式實現(xiàn):采集程序在數(shù)據(jù)采集過程中通過轉換規(guī)則進行數(shù)據(jù)轉換,并將轉換的數(shù)據(jù)加載到數(shù)據(jù)中心;通過單獨的轉換組件對數(shù)據(jù)中心的數(shù)據(jù)進行統(tǒng)計、匯總。
(4)數(shù)據(jù)加載。將轉換完的數(shù)據(jù)按照目標數(shù)據(jù)模型定義的表結構加載到目標數(shù)據(jù)庫系統(tǒng)中。本ETL系統(tǒng)采用實時增量抽取模式和日終數(shù)據(jù)抽取和歷史數(shù)據(jù)抽取模式兩種數(shù)據(jù)加載方式。
(5)并發(fā)與負載均衡。為了提高ETL性能,系統(tǒng)具備并行處理能力,系統(tǒng)通過采集AS、采集AR、采集服務器的n∶1∶1的組合方式實現(xiàn)并行和負載均衡,同時也實現(xiàn)了分布式抽取的功能。
(6)數(shù)據(jù)質量保證。本ETL系統(tǒng)通過以下幾種方式保證數(shù)據(jù)的準確性和完整性:系統(tǒng)通過核對數(shù)據(jù)源端和數(shù)據(jù)中心端的記錄數(shù),相關字段的匯總值,生成核對報告,以保證數(shù)據(jù)采集的一致完整性;數(shù)據(jù)中心的數(shù)據(jù)表上增加了數(shù)據(jù)庫規(guī)則的檢查,保證主鍵唯一、實體完整、字段非空;通過異常處理模塊,從另一個角度保證數(shù)據(jù)質量。
5.結語
建設一個高效CRM系統(tǒng),最為關鍵的是通過建設數(shù)據(jù)中心,將分散在各個系統(tǒng)中的客戶數(shù)據(jù)進行整合和匯總,為CRM系統(tǒng)提供統(tǒng)一的客戶視圖,本文是基于期貨公司CRM系統(tǒng)數(shù)據(jù)中心的設計與實現(xiàn)基礎上完成的,介紹了期貨公司數(shù)據(jù)中心建設過程,并對ETL過程進行了重點研究。
目前,本ETL系統(tǒng)在期貨數(shù)據(jù)中心生產環(huán)境穩(wěn)定運行,但隨著期貨行業(yè)的發(fā)展,數(shù)據(jù)量快速增加,實時性要求越來越高,開發(fā)一個能支撐海量數(shù)據(jù)、高吞吐量和響應時間的ETL系統(tǒng)是行業(yè)發(fā)展的必然要求。
參考文獻
[1]W.H.Inmon.王志海,林友芳等譯.數(shù)據(jù)倉庫(原書第四版)[M].北京:機械工業(yè)出版社,2006.8.
[2]Ralph Kimball著.唐富年,孫媛媛譯.數(shù)據(jù)倉庫生命周期工具箱(第二版)[M].北京:清華大學出版社,2009.9.
[3]PHILIP Russom.操作型數(shù)據(jù)倉庫——操作型應用和數(shù)據(jù)倉庫之間整合[M].TTNN Group,2010.6.