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