(國家開發銀行 北京 100000)
淺析銀行高性能查詢平臺的解決方案
龐冠廷
(國家開發銀行北京100000)
銀行系統自誕生之日起,就承擔了對內完成業務處理(寫數據庫操作)、對外提供查詢服務(讀數據庫操作)的任務,隨著互聯網技術的迅猛發展和業務的不斷創新,查詢需求越來越多,頻率越來越高,業務處理和查詢集于一體的系統已經越來越無法滿足要求,對系統原有的業務功能造成了挑戰,甚至某些情況下出現了系統故障。如何在滿足客戶高效、及時、準確的查詢需求的同時,確保對業務系統的運行影響較小,是當前銀行業面臨的一個課題。多數銀行采取的主流方式是將數據庫的讀寫操作進行分離,形成負責業務處理的寫數據庫和負責對外提供服務的讀數據庫,而高性能查詢平臺就是基于這一方案建設。
當前,大多數銀行使用ORACLE數據庫,本文提到的高性能查詢平臺的建設方案就基于這一前提。其采用了ORACLE 提供的同步技術,實時將原業務系統中的數據同步至專用查詢數據庫中,通過該數據庫向其他系統提供查詢服務。高性能查詢平臺可以對外提供查詢服務(比如查詢賬戶信息)和推送服務(比如告知客戶余額變動情況)。
(一)推送服務

1.當源系統的數據庫中表數據發生變化時,會觸發表的觸發器(TRIGGER),將變化的數據備份到以“_高頻”結尾的表中。
2.通過使用OGG同步技術,將源數據庫中以“_高頻”結尾的表變化信息,同至高性能查詢平臺的數據庫中。
3.高性能查詢平臺系統建立一個守護進程,此進程每隔一定時間查詢是否需要推送數據,如果需要推送,則篩選數據。
4.數據組織完畢后,通過TCP將需要推送的數據發送到高性能查詢平臺應用,高性能查詢平臺應用將數據推送給第三方系統。
(二)查詢服務

將數據從源系統數據庫同步至高性能查詢平臺數據庫的流程與推送服務相同。后續流程如下:
1.外圍系統發起一個查詢(如賬戶信息);
2.高性能查詢平臺應用解析該報文,并進行相應轉化后,發送至高性能查詢平臺的查詢服務;
3.高性能查詢平臺查詢服務組織相關信息,通過TCP反饋給應用;
4.高性能查詢平臺應用組成報文,發送給第三方。
(一)采用OGG技術同步數據,實現數據庫間實時同步,靠性高。
采用成熟的Oracle Golden Gate軟件,實現不同數據庫間的同步,該技術是一種基于日志的結構化數據復制備份軟件,可通過解析源數據庫在線日志或歸檔日志獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。Oracle Golden Gate可以在異構的IT基礎結構(包括幾乎所有常用操作系統平臺和數據庫平臺)之間實現大量數據亞秒一級的實時復制,可以實現一對一、廣播(一對多)、聚合(多對一)、雙向、點對點、級聯等多種靈活的拓撲結構。具有以下三個特點:一是保證在源數據庫與目標數據庫按照相同的事務提交,確保在目標數據的完整性和讀一致性,為實時查詢和事務處理創造了條件。二是抽取和復制進程使用檢查點機制記錄完成復制的位置。對于抽取進程,其檢查點記錄當前已經抽取日志的位置和寫隊列文件的位置;對于投遞進程,其檢查點記錄當前讀取隊列文件的位置。檢查點機制可以保證在系統、網絡或OGG進程故障重啟后數據無丟失。三是用應答機制傳輸交易數據,只有在得到確認消息后才認為數據傳輸完成,否則將自動重新傳輸數據,從而保證了抽取出的所有數據都能發送到備份端。
選取了一個系統,業務存量約100萬筆,每日發生業務10萬筆。對其中常用的21張數據表模擬執行增、刪、改等10萬次數據庫操作,所有數據均正確、及時的同步。
(二)經過性能測試驗證,該方案增量資源要求低。
對使用高性能查詢平臺的前后的系統進行了測試,主要集中于兩個方面:一是對于原系統的資源消耗是情況;二是對于高性能查詢平臺的資源消耗情況。為此選取了一個臺小機作為測試環境,基本配置為4C16G,系統仍然不變,測試結果如下:
場景一:應用進行交易處理時啟用OGG,應用服務器CPU平均使用率為17.4%,內存空閑率為0.12%;不啟用OGG,應用服務器CPU平均使用率為17.8%,內存空閑率為0.15%。
場景二:執行10萬條DML操作時啟用OGG,應用服務器CPU平均使用率為39.11內存空閑率為2.31%;不啟用OGG,應用服務器CPU平均使用率為37.03%,內存空閑率為6.94%。

交易類別啟用、不啟用OGG服務器CPU使用率服務器內存使用率進行交易處理啟用OGG17.4%0.12%不啟用OGG17.8%0.15%執行10萬DML操作啟用OGG39.11%2.31%不啟用OGG30.03%6.94%
高性能查詢平臺方案通過采用OGG、守護進程等技術,可以實時的向客戶提供高效、及時、準確的查詢需求和信息推送服務,形成負責業務處理的寫數據庫和負責對外提供服務的讀數據庫,構建了符合新一代銀行業務系統的主流技術架構。如果系統查詢資源消耗大于原資源消耗量的10%,且查詢服務簡單且種類單一,高性能查詢平臺提供了一種簡單明了的解決方案。
龐冠廷(1980-),男,漢族,河北唐山人,碩士,國家開發銀行,研究方向:金融信息化。