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功能概览