暂无图片
暂无图片
2
暂无图片
暂无图片
2
暂无图片

金点分享 | 基于金篆GoldenDB的金融应用开发——金融应用指南05

李奇 2024-04-08
414

为帮助金融机构做好分布式数据库产品的选型,推动分布式数据库产品在金融领域的稳妥应用,金篆GoldenDB在北京金融科技产业联盟的指导下编写《GoldenDB分布式事务型数据库金融应用指南》。《指南》深入探讨了如何从应用规划、应用开发、数据迁移等关键环节,将金篆GoldenDB引入金融机构的IT系统中;在数据安全方面介绍了数据加密、访问控制等功能,在性能调优部分提供了完整的优化策略。

过去两期深入介绍了金篆GoldenDB的金融应用规划,包括物理机规划、数据库节点评估业务连续性规划,其中涉及高可用设计和容灾方案。本期是系列文章的第5期,将为大家讲解基于金篆GoldenDB的金融应用开发

基于GoldenDB的Java开发和集中式数据库没有本质的区别,推荐使用GoldenDB Java官方驱动程序,同时兼容MySQL JDBC驱动。

应用开发快速入门


01 Java应用demo

一个简单的示例程序,如下:

02 通过JDBC访问GoldenDB

JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口。JDBC主要由四大功能模块组成:

1、DriverManager类:JDBC管理层,加载驱动程序。

2、Connection接口:数据库连接对象。

3、Statement接口: 数据库操作对象。

4、ResultSet接口:数据库结果集,Statement执行SQL语句时返回Result结果集。

GoldenDB Java驱动是对JDBC驱动规范的完全实现,已适配JDBC 4.2版本(随JDK1.8发布),可按照JDBC规范使用。

图1 JDDB逻辑结构图

重要功能参数:

表1 JDBC重要配置参数

功能名称

依赖相关参数组合

Loadbalance负载均衡

Loadbalance+自研协议isConnectionLevel=true

PREPARE及预编译功能

useCursorFetch=true&prepStmtCacheSqlLimit&cachePrepStmts&prepStmtCacheSize&PREPAREStrategy

黑名单检测功能

shadowThreadSwitch=true&intervalTime&blackTaskTime&errorCount

超时参数

connectTimeout&socketTimeout

LB分组协议

proxygroups&minconnectionproxys&proxygroup(n)

新协议批量插入功能

comStmtBatchFlag=true&rewriteBatchedStatements=true

支持insert多values走新协议

03 使用GoldenDB LoadBalance

GoldenDB支持“软负载”,即通过软件(驱动)实现负载均衡,可以将读写请求行负载均衡,路由到多个计算节点上,LoadBalance协议具备Failover特性。它的特点是配置简单、使用灵活且成本较低。示例:

其中,10.46.178.105:1234,10.46.178.195:1234分别表示两个计算节点,分别对应了1234端口,应用侧建链时根据上述负载均衡策略将建链请求均衡下发到这两个计算节点。

04 分组优先级

支持将计算节点按分组配置优先级,实现机房故障应用请求自动切换。可以将若干计算节点组成多个逻辑组,示例:

其中,Proxygroups为优先级分组个数,proxygroup1,proxygroup2......计算节点分组列表,优先级依次降低。正常只访问优先级高的计算节点,当优先级高的计算节点都异常时,则连接次优先级的计算节点。

05 连接池配置

数据库连接池使用 javax.sql.DataSource来表示,DataSource知识一个接口,该接口的通常由第三方提供实现,GoldenDB兼容适配主流的连接池产品,如C3P0,Druid,DBCP等。以Druid配置为例(备注:不同版本存在参数差异):

保活配置参数是validationQuery、keepAlive。

06 字符集选择 

字符集设置支持实例级、库级、表级以列级别,字符集支持:latin1、gbk、utf8、utf8mb4和gb18030,对应字符序支持按照二进制值进行,即对应上述四种字符集的字符序分别为latin1_bin、gbk_bin、utf8_bin、utf8mb4_bin和gb18030_bin,的不同级别设置方式参考如下:

实例级。通过Insight页面新增租户,“租户规划”阶段设置【字符集】

图2 实例配置字符集

数据库级。通过建库语句指定字符集编码,如下:

表级。通过建表语句指定字符集编码和字符序,创建表t01,字符集为utf8,字符序为utf8_bin,SQL如下:

列级。调整表t01的MENU_ID列字符集为utf38mb4,SQL如下:

07 使用PREPARE

SQL语句的语法校验和执行树生成花费时间较长,GoldenDB支持使用预编译(PREPARE)功能,可对SQL语句进行一次语法校验和编译,提供整体执行效率。

通过其他方式访问金篆GoldenDB


01 采用ODBC访问GoldenDB

GoldenDB支持采用ODBC进行访问数据库,需要安装unixODBC和ZXCLOUD-GoldenDB-ALL-ODBCV1.0.1(具体版本以实际为准),兼容mysql-connector-odbc驱动程序。代码示例如下:

02 采用OCI访问金篆GoldenDB

GoldenDB支持采用OCI进行访问数据库,配置dci.ini里面数据库IP地址和端口,参考示例如下:

本期为大家讲解了如何快速入门基于金篆GoldenDB的金融应用开发、如何通过其他方式访问GoldenDB,下期将深入介绍如何进行数据均衡设计、提升交易处理性能,敬请期待。

公开资料显示,金篆GoldenDB是金融市场排名第1的金融级分布式数据库,银行业金融级分布式数据库市场份额占比为24.4%,银行核心系统市场投产数量占行业50%,银行次核心及非银核心系统市场投产数量占行业32%,这3项数据均为行业第1。GoldenDB现已服务超60家金融客户,核心系统案例覆盖国有大行、政策性银行、股份制银行、城商行、农商行、大型金融机构、券商、保险,具备支撑金融行业最核心业务系统的深厚实力和经验!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

玄虚子
暂无图片
11月前
评论
暂无图片 0
为帮助金融机构做好分布式数据库产品的选型,推动分布式数据库产品在金融领域的稳妥应用,金篆GoldenDB在北京金融科技产业联盟的指导下编写《GoldenDB分布式事务型数据库金融应用指南》。《指南》深入探讨了如何从应用规划、应用开发、数据迁移等关键环节,将金篆GoldenDB引入金融机构的IT系统中;在数据安全方面介绍了数据加密、访问控制等功能,在性能调优部分提供了完整的优化策略。
11月前
暂无图片 点赞
评论
Whill
暂无图片
11月前
评论
暂无图片 0
为帮助金融机构做好分布式数据库产品的选型,推动分布式数据库产品在金融领域的稳妥应用,金篆GoldenDB在北京金融科技产业联盟的指导下编写《GoldenDB分布式事务型数据库金融应用指南》。《指南》深入探讨了如何从应用规划、应用开发、数据迁移等关键环节,将金篆GoldenDB引入金融机构的IT系统中;在数据安全方面介绍了数据加密、访问控制等功能,在性能调优部分提供了完整的优化策略。
11月前
暂无图片 点赞
评论