基于GreatDB的中信建投网上交易系统数据库建设
所属单位:北京万里开源软件有限公司
参与奖项:最佳金融信创突破奖
评委评分:
热度 (转发微信朋友圈或群可以帮助增加热度)
获奖评语:作为国产数据库代表企业,万里数据库长期致力于自主可控数据库的产业化事业,积极践行着国产安全可控的使命。知名证券公司中信建投的网上交易系统采用了全套国产化设施,其中就包括了万里的安全数据库GreatDB,保证安全可靠的同时,也有不俗的性能。
微信扫码分享此评选

中信建投证券股份有限责任公司(简称:中信建投)自2010年连续十一年被中国证监会评为目前行业最高级别的A类AA级证券公司,已通过117个营业网点近5万台柜台、自助、热自助等交易终端为广大投资者提供专业化交易服务。随着信息化、数字化在加速转型过程中实现国产化,中信建投已高度重视信息国产化建设,全力打造一体化、专业化、标准化、智能化的信息系统,为广大投资者提供安全、可靠、高效的信息化与个性化服务。

中信建投网上交易系统采用全套国产化设施,底层架构平台选用鲲鹏920ARM为主,操作系统先用麒麟V10,数据库选用万里安全数据库GreatDB。同时GreatDB支撑了物理机部署以及基于K8S的dbaas部署,顺应了金融业整体上云的技术演进趋势。

方案背景

近年来,数据的安全可控已成为金融安全最关注的环节之一,尤其对于证券行业而言,业务场景的特殊性与复杂性对数据安全和系统自主可控性提出了更高要求。目前券商行业的整体业务系统建设中,对国外技术架构体系依赖程度仍过高,在国际信息安全日益严峻的形势下,这些产品存在安全风险和信息技术“卡脖子”隐患,主流券商有技术在逐渐摆脱证券核心技术受制于人的困境。数据库系统作为核心基础软件,在整体应用架构中占据重要的位置,承载着企业核心数据资产,因此,券商行业数据库产品的国产化与自主可控势在必行,作为国内头部券商之一,中信建投积极响应国家号召,率先提出了“科技赋能、运营升级“的战略目标,启动了包括数据库在内的核心技术体系的国产化替代工作。

方案目标

如何解决场景痛点、项目落地目标:

1. 分布式架构与微服务架构相融合

微服务架构也是目前金融行业技术趋势之一,分布式架构与微服务架构相结合,可提供高效的性能和持续的扩容能力。

2. 高可靠与容灾

数据库系统要有极高的可靠性与容灾能力。具备同城跨机房容灾部署能力、机房级故障切换能力,确保节点/机房故障场景下RPO=0,RTO<60s。且需同时具备强一致的数据库集群备份恢复能力,确保金融数据的备份级灾备安全。

3. 高性能、低延迟、按需在线横向扩展

随着用户规模的逐步扩大,促使网上交易平台性能压力持续增加,就要求数据库提供高吞吐性能与低于阀值的响应延迟,并按需横向扩容,以支撑业务高速发展。

4. 平滑的切换方案

数据库与业务整体相融合,具备平滑切换与按需回切业务流量的方案,确保新架构方案风险整体可控。

方案特点

1. 高可靠

GreatDB集中式相比官方MySQL在高可靠上做了大幅了增强,兼容MySQL生态主流的半同步和MGR高可靠方案,并且都做了大幅的优化增强。针对半同步复制,通过引入多数派协议,确保RPO=0;针对MGR,优化流控并增加地理标签和仲裁节点,部署成本降低1/3、节点异常RTO缩短80%、吞吐稳定性大幅提升,并修复大量官方稳定性BUG。同时配备数据备份、异地灾备等数据灾备解决方案,可以支撑金融级高可靠需求。

2. 高兼容

GreatDB集中式完全兼容MySQL语法和协议,可平滑替换MySQL集群,并且无缝衔接上下游MySQL生态。同时对常用Oracle语法提供了适配,在数据类型、数据查询、数据操作、高级数据库对象、系统函数等各方面新增了超100项SQL功能,相比官方MySQL大幅提升Oracle兼容性。

3. 数据安全

GreatDB提供安全等保三级相关的企业级安全防护,提供包括但不限于国密、审计、密码增强、备份加密增强等实用的安全功能。

4. 高性能

GreatDB集中式在性能方面做了大量优化工作。在TP方面,通过内核级的锁粒度拆分、无锁事务快照优化、锁降级等大幅提升事务吞吐性能,相比官方MySQL提升约40%;在AP方面,通过提供执行计划与存储引擎双层并行查询优化,典型TPCH复杂查询相比官方MySQL提升约14倍。并在MGR高可靠部署架构下提供额外的性能增强。

5. 便捷运维

GreatDB集中式的操作高度兼容MySQL生态,开发人员可以快速便捷地上手使用。同时配备了运维管理平台GreatADM,提供数据库集群全生命周期的运维管理,包括但不限于安装部署、监控告警、备份恢复、健康巡检、性能调优等等。并且针对生产实施会涉及到的Oracle异构数据库迁移,配套提供了GreatDTS同步工具,提供实现应用评估、兼容性评估和数据迁移的一站式数据迁移服务。

6. 国产化

GreatDB集中式对国产软硬件平台提供了全面的适配,包括各类国产芯片、操作系统、中间件、服务器、以及应用系统,可用于构建全栈国产化的解决方案。

7. 云支持

GreatDB集中式通过运维管理平台GreatADM适配各类云管平台,通过提供的Restful api接口与云管进行深入集成实现数据库集群PaaS化。除支持物理环境外,还包括了容器等虚拟化环境。

方案业务流程图

网上交易系统数据架构图:

网上交易系统数据架构图

中信建投网上交易系统是一款集网上行情、网上交易、108服务功能的三合一投资平台。中信建投网上交易官方极速版交易部分集成了目前普通证券的所有交易功能,软件同时支持融资融券交易功能,客户在一个客户端就可以方便快捷的进行多种类型的交易及查询,呈现中信建投专业、快捷、贴心的服务,保证全体客户享受更多优质服务。

1. 更新日志

1)新增柜台交易(OTC)业务、融资融券头寸管理功能;

2)修改了某些BUG。

2. 软件特色

闪电买入闪电卖出

打开方式:

键盘精灵 21:闪电买入 23:闪电卖出

组合窗口上右键点击,在弹出的菜单中选择闪电买入闪电卖出,在盘口的交易价格上点击右键,在弹出窗口上选择闪电买入,或者闪电卖出:

在预警列表上双击“价位下破”或者“价位上破”的股票项,将弹出闪电卖出或者闪电买入的对话框,如下图:

界面如下图:

选择卖出的数量,点击确定,将使您在最短的时间内将用户想要出售的股票卖出,想要买进的股票买入,帮助用户最好的把握商机。

3. 查看行情或者是进行交易

实现功能展示

最终实现功能:

主要包含了:集群层、数据库内核层、安全层、数据库云服务层、数据库管控层、以及数据库接口层

集群层:本层主要由GreatDB Router组件实现,负责集中式集群层面的功能管理。主要的模块包括:集群高可用管理模块、在线切换管理模块、读写分离管理模块、集群节点管理模块、集群间灾备复制同步模块、和集群连接池模块;同时从可用性和扩展性角度,实现多活入口模块。

数据库内核层:本层主要由GreatDB数据节点组件实现,负责针对数据库内核的持续增强演进。数据库内核层增强目前主要划分为4个主要增强域,分别为SQL功能域、执行调度域、数据复制域、以及事务&引擎域。

针对SQL功能域,参考SQL标准和Oracle特性对查询DQL语句、数据变更DML语句、系统函数、高级数据库对象、和类型支持方面进行功能新增;

针对执行调度域,目前已重点改造增强了并行执行与执行计划绑定

针对数据复制域,目前已针对MGR内核进行了大幅增强,包括功能新增、内存分配优化、协程调度优化、大量bug修复等等;

针对事务&引擎域,目前已针对锁拆分、xa事务、事务快照、并行扫描等一系列核心模块进行了增强优化;

安全层:涉及集群各组件,负责集中式集群整体的数据安全性,包括访问安全和操作安全等。目前已增强并提供生产常用安全特性,例如审计、密码增强、国密支持、备份加密等等;

数据库云服务层:主要涉及集群管控平台组件,负责数据库集群的K8S云适配以及与云平台的paas集成。目前已提供restful api,可与云管中心进行深度集成,在云上提供数据库集群全生命周期的服务编排管理;

数据库管控层:主要涉及集群管控平台组件和数据库内核层,负责数据库集群全生命周期的运维管理。目前已提供数据库日常运维所需的常用功能,例如安装部署、监控告警、备份恢复等等;

接口层:接口层对外提供通用的数据库访问协议支持。通信协议与官方MySQL通信协议一致,兼容mysql生态所有的JDBC、ODBC等各类编程语言接口;同时作为增强,相比官方MySQL额外提供OCI接口。

方案案例及效果

应用效果体现在以下几个方面:

1)践行去IOE方案,实现业务系统数据库底座改造;

2)打破国外数据库垄断,采用x86服务器或纯国产服务器,降低了企业成本;

3)满足了用户对数据库的性能要求;

4)支撑证券行业典型的网上交易系统业务,实现事务强一致,确保RPO为零;弹性扩容,扩容过程中最大程度降低业务影响;

5)构建企业视角的运维管理平台,实现统一运维和集中管控。

方案未来展望

考虑到数据库架构的通用性,万里安全数据库作为中信建投证券股份有限责任公司主要选型的数据库之一已在内部进行更大范围推广。除本项目系统之外,还包括但不限于以下系统:支持决策系统、营业部信息技术分享系统、存储集中管理系统、基金研究报告系统、天眼通测试系统等。