黃啟雄
【摘要】 隨著社會信息化的發展,業務經營數據價值與日俱增,對運營信息分析的及時性要求也不斷提升。本方案運用數據復制產品,通過數據庫日志實時捕獲業務變動導致的數據變化,采用了流轉換技術以及流處理方法進行實時數據處理,并使用了內存數據庫做進一步的分析,有效提升了業務數據的獲取效率。實現對生產運營信息的及時分析,以更短的時間進行實時決策的目的。
【關鍵詞】 數據庫日志 流處理 內存數據庫信息化社會對業務運營分析及時性要求越來越高,亟需一種實時或準實時監控業務受理數據的方法,實現高速分析,以達到輔助快速決策的目的。傳統的經營分析,一般在原有業務系統上直接進行統計分析,或者建設數據倉庫系統用于分析。前者可能占用業務系統大量的資源,對正常運營造成極大影響,通常在繁忙的業務系統上不允許常態化應用。后者一般在業務系統閑時從數據庫表中按日、按月抽取數據,存放在數據倉庫中,能進行復雜的分析,但也難以及時運營分析,導致問題發現時間延遲。因此,設計一套新的方案,通過讀寫分離技術將對源系統的影響降到最低,并具備高性能、低延遲,適應復雜業務環境,滿足實時、準實時的運營監控分析需求。
一、目標
本方案提供了一種基于數據庫日志,通過結合使用數據實時復制產品如GoldenGate、流處理產品如Stream和內存庫如Timesten,實現對業務受理數據進行及時監控的方法。主要目標是:
1、解決了數據獲取的時效性問題。提供了一種基于數據庫日志的實時數據獲取方法,數據處理與存儲采用流技術與內存技術,全過程不寫磁盤,在低生產系統開銷的情況下提升整體數據獲取跟分析的性能。2、實時與準實時數據應用能力。提供高效的實時統計、實時監控與準實時分析能力,將數據應用的響應時間由傳統的天級提升到分鐘、小時級。3、輔助快速決策。實時與準實時的數據,能提供了更廣闊的應用場景,如基于異常業務銷售、辦理波動,迅速變更渠道資源如人員排班等工作,又如庫存變更與物流配送時間點合理安排,提升廳店效率,實現減員增效。最終實現將傳統的業務分析從輔助決策長期目標向提供實時運營,協助提高企業管控能力,從而提升了企業數據信息的價值。
二、技術方案
本方案主要組成部分包括數據獲取模塊、數據處理模塊、數據存儲模塊、數據應用模塊、系統管理模塊五個部分。各模塊的功能具體說明如下:
1、數據獲取模塊。數據獲取模塊包括數據實時獲取和數據實時加載兩個子模塊。當業務系統數據庫因業務受理、業務回退等種種原因產生數據變動時,數據獲取子模塊根據預定義需要監控的表,通過數據復制產品實時捕獲數據庫相關變化LOG并轉化成可識別的數據格式,傳遞到流處理模塊或內存庫。數據加載子模塊獲取的數據按既定邏輯要求加載到數據存儲模塊,過濾清洗掉與實時分析需求無關的數據,降低數據存儲的壓力,并保證目標系統與源系統的數據一致性。
2、數據存儲模塊。數據存儲模塊采用內存數據庫作為存儲介質,對數據的進行集中存儲與管理,一方面避免了數據在處理過程中的大數據量交易數據落地寫磁盤對分析性能的影響,保障了處理過程的及時性;另一方面內存數據庫也為外部頻繁的數據實時讀取、調用與分析提供了高效的響應能力。
3、數據處理模塊。數據處理模塊包括實時數據匯總與準實時數據分析兩個子模塊。實時數據匯總依托流處理的強大在線匯總能力,獲取并提交展示對及時性要求最高、邏輯相對簡單的信息。準實時數據分析基于內存數據庫,按照既定的周期如每10分鐘,對加載的數據做輕度匯總,并進一步的分析挖掘,最終提交邏輯相對復雜的分析結果。
4、數據應用模塊數據應用模塊在獲取數據處理模塊的結果,并構建各類業務場景,如實時統計,實時監控,準實時分析等。實時統計面向業務量、收入等最核心的指標,展示當前累計發展量,尤其在短期促銷時可更顯性查看成果。實時監控通過監控波動率,設定閥值門限等,及時掌握收入風險、渠道交易異常、庫存情況等,用于管控風險。準實時分析不僅對業務數據做簡單的匯總,還可以通過設定多個維度,實現更細致的分析,如各渠道橫向對比,基于時間序列的縱向對比等。
5、系統管理模塊。系統管理模塊是系統穩定、高效運行的有效保障,包括調度管理、負載均衡、異常控制等。調度管理具備任務管理、依賴管理、并發管理等功能,按時間定時生成或者按照事件觸發任務,在滿足系統能力或優先級要求時派發,控制整個系統程序有條不紊執行。負載均衡主要對主機集群的管理,將應用均衡分配到各主機節點,充分發揮集群的性能,以應對實時、準實時分析帶來的高并發、高負荷分析與訪問。異常控制則在系統出現異常時,如設備故障、程序故障時,提供臨時解決方案,確保系統的高可用性。
三、結語
本方案使用數據實時復制技術,通過抓取數據庫日志,實時獲取生產數據并通過流處理轉換技術,對業務受理數據進行實時計算,或直接輸出到內存數據庫中進行準實時分析,最終交付直觀展現業務信息。在此基礎上能有效提升企業信息的價值,為實時決策提供更快捷的依據。