GBase新聞
GBASE金融應用指南6 | 數據集成
為幫助金融機構做好分布式分析型數據庫產品的選型,推廣在金融行業部署應用分布式分析型數據庫的成功經驗,GBASE南大通用在北京金融科技產業聯盟的指導下編寫《南大通用GBase 8a金融應用指南》。《指南》深入介紹了分布式分析型數據庫從選型規劃、開發設計規范、數據安全高可用,直至運維優化的部署全過程,并介紹了GBase 8a MPP Cluster在國家政策性銀行和國有大行的代表性部署案例。
GBASE南大通用將陸續推出系列文章,分享解讀《指南》內容,希望能夠對廣大金融用戶的數據庫選型提供借鑒幫助,助力科技金融的高效實施和高質量發展。本篇是系列文章的第6期,介紹系統的數據集成。
數據集成是數據倉庫建設中的重要一環,把需要處理的歷史數據、實時數據集中到分布式分析型數據庫中,通常這個過程是持續不斷的,并且它的性能會直接影響到數據庫系統的整體性能。
1、數據加載
GBase 8a MPP Cluster數據加載是通過sql語句發送加載任務,直接傳輸底層數據文件實現的。所以使用方便且性能高。用于同構或異構數據庫導出的數據文件高效輸入GBase 8a集群庫內。
GBase 8a集群的加載原理見圖1所示。
圖1 GBase 8a集群的加載原理
GBase 8a MPP Cluster需加載的數據文件可以是平文本、avro/orc、壓縮格式(gzip、snnapy、lzo)中的任意格式,建議放在獨立的服務器上作數據源,GBase 8a從數據源拉取數據,數據源可以根據需要選擇配置kafka、hdfs、ftp、sftp、http、S3中的一種或多種服務,以及GBase 專用的gbfs服務。
以上服務加載性能無顯著影響和差別。可根據服務的安全性、已有環境的便利性和復用性選擇合適的數據源服務:
? kafka和hdfs為集群,規模較大,數據文件分片存儲且有備份,支持kerberos認證,數據文件安全性較高;
? ftp、sftp、http服務搭建簡單,sftp比ftp更加安全;
? S3一般見于云環境;
? gbfs是以安全為前提考慮,不使用公共服務,GBase提供的專用服務。
具體如圖2所示。
圖2 加載功能概覽
2、數據導出
GBase 8a MPP Cluster的數據需要發給應用或者遷往他處時,可以使用數據導出功能。導出功能與加載功能對應,功能支持情況如圖3所示,可以根據業務需要選擇合適的導出模式。
圖3 導出功能概覽
3、流式、實時數據加載入庫方案
在網銀、手機銀行廣泛使用的今天,銀行賬務、信貸等業務的數據實時性監控和OLAP分析等需求也成為必須的基本需求,實時數據倉庫能夠實時地處理和分析數據,使得數據倉庫中的數據是最新的、最準確的,并且可以實時響應用戶的查詢和分析需求,與傳統的數據倉庫相比,實時數據倉庫更加注重數據的實時性和對業務的實時響應能力。
流式數據包含實時的需求,流式數據指數據源源不斷的流進,如用戶行為數據流、機器數據流。流式數據需要實時入庫處理,如果處理的效率低于數據流入的速度,就會產生數據積壓,使系統性能下降等問題。
GBase 8a 產品提供了實時、流式數據的應用方案:
實時數倉構建方案
GBase 8a產品的實時數倉應用解決方案如圖4所示,使用自研ETL工具或者第三方ETL工具(開源/商用)搭建實時以及流式通道。
圖4 GBase 8a實時數倉部署架構圖
可以根據實時性要求選擇不同的ETL工具。GBase 8a 產品支持的ETL工具見表1所示。
表1 ETL工具分類表
對于實時、流式數據的讀取,GBase 8a MPP Cluster提供的兩種工具具體介紹如下:
1)GBase 8a集群內置的Kafka Consumer,用于實時接收來自kafka集群的數據;
2)GBLoad Server工具,用于接收API(jdbc)傳來的流式數據。
Kafka Consumer 消費數據實時入庫
GBase 8a產品內置了Kafka consumer,主要功能是同步Kafka數據到8a集群,如圖5所示。
圖5 Kafka Consumer功能概覽
GBLoad_Server工具流式數據攢批入庫
gbload_server通過JDBC接收insert values數據,攢批落地為文本文件,使用加載功能,通過ftp協議加載入庫。具體功能如圖6所示。
圖6 GBLoad_Server功能概覽
4、DBLINK跨集群數據訪問
GBase 8a集群的應用程序可以通過DBLINK訪問外部數據源,如下場景中可以使用DBLINK:
? 同構/異構數據源的數據需使用業務sql抽取到8a集群中;
? 8a集群內數據需使用業務sql推送到其他同構/異構集群;
? 同構/異構數據源的數據需使用業務sql互訪及關聯運算。
DBLink功能概覽如圖6所示。
圖7 DBLink功能概覽