技术解读 | KunDB助力头部金融机构关键系统的Oracle国产替代

动图封面
 

星环科技自主研发的分布式交易型数据库KunDB助力头部金融机构实现了关键系统的Oracle国产化替代。通过可视化迁移工具完成了对象与数据的平滑迁移,将原先两套Oracle系统(一套Oracle单机系统,一套Oracle RAC系统)统一迁移到一套KunDB集群。并且基于常规国产服务器使得每日增量数据处理性能提升了1倍,并发处理性能提升了2倍,结合全新的分布式架构,增强了弹性扩展能力,充分满足企业未来业务发展需求。KunDB3.2以满足金融业务极致稳定的要求为核心,在高可用、Oracle兼容、一体化、智能运维、云化部署、多场景应用支持等六大关键能力实现了升级。可支撑各类OLTP应用需求,同时兼顾OLAP数据处理要求,可用于各行业国产化替代升级和分布式架构转型,帮助企业筑牢数字化发展根基。

KunDB 3.2 六大关键能力升级

关键能力一:基于Paxos协议的高可用与跨数据中心容灾在传统主备模式中,底层采用主备复制的方式,存储出现故障时,会实行集群管理组件通过检测节点存活情况再做切换。这种模式存在两个问题:

  • 数据同步,一般情况下会由最大保护退化为最大可用,可能会出现RPO不等于0
  • 主备切换,探活和仲裁比较复杂,一般需要等待超时才能做出判断,RTO在分钟级

(RPO指系统能够容忍的最大数据丢失量,RTO指系统能够容忍的服务停止最大时间)KunDB3.2基于Paxos协议实现高可用和跨数据中心容灾。存储引擎基于Paxos协议进行数据复制,元数据服务也基于一致性算法做数据复制,计算引擎采取无状态方式,拓展非常方便,再配合上层的SLB,可实现全链路的高可用。基于全链路混沌测试,针对服务器故障、数据库故障、资源负载故障等20多项故障的测试中,KunDB能够有效保证全链路所有故障情况下RPO=0,即没有丢失数据。在大多数场景下RTO=0,即业务无中断,主节点故障场景下,RTO<30s。在同城双机房容灾场景中,采用3+2部署模式,Paxos组件会感知机房属性,每个机房都有强同步副本,保证RPO=0。当同城机房出现数据库组件、服务器、网络等故障时,主机房达到多数派,保障RTO=0。而当主机房数据库出现故障时,底层Advisor会实时感知并自动切换,保障RTO<30s。

 

在两地三场景容灾场景中,主集群采用3+2节点部署,异地集群采用3个节点,两个集群采用异步复制的模式。故障情况下通过切换可以做到城市级故障转换,同时提供高效实时备份能力,支持全量和增量备份,用户可以根据业务需要恢复到任一过去时间点,基于全局时间戳保证全局事务一致性。在国标GB/T 20988-2007《信息安全技术 信息系统灾难恢复规范》中,将灾难恢复能力划分了6个等级,最高等级6级要求RPO=0,RTO控制在分钟级。而在金融领域有更高的要求,最高等级要求同城RPO=0,RTO控制在1分钟内。KunDB容灾能力已经达到并且超过上述两个容灾标准。关键能力二:高度兼容Oracle和MySQL,支持应用快速迁移KunDB3.2支持MySQL和Oracle双语法模型,高度兼容Oracle对象与语法,完整支持Oracle PL/SQL,极大降低了企业业务迁移成本。

Oracle兼容性主要分为3个层次,语法和驱动、PLSQL和高级包、完善的应用开发对接生态。首先,KunDB3.2对Oracle数据库对象、数据类型、系统视图等都做到了全部常用功能的兼容。

  • 在语法和驱动方面,KunDB支持绝大部分SQL语法以及方言,支持三百多常用的函数,占到Oracle总函数的85%,同时全兼容ODBC和OBBC驱动,在OCI和OCCI方面做到了常用接口兼容。
  • 在PL/SQL和高级包方面,通过自主原创的PL/SQL编译器,KunDB完整支持PL/SQL,如类型、控制语句,自定义数据类型等全部PL/SQL语法,并且执行性能比解释执行提升一个数量级,解决了Oracle业务迁移到国产化数据库的核心痛点。针对有些场景会使用高级包的能力,KunDB支持DBMS_JOB、DBMS_LOB等11个高级包,可以满足用户高级包常用场景。
  • 在Oracle应用开发生态方面,KunDB支持基于Oracle的业务直接或者通过中间件框架进行连接,包括Java、.NET、C/C++等语言开发的应用,尤其是针对C/C++应用提供兼容Oracle的OCI/OCCI驱动,来保障业务的平滑迁移。

 

好的兼容能力是实现Oracle、MySQL快速替代的基础,在实际迁移时,是否有完备的迁移工具和迁移方案将决定迁移的效率。数据库迁移一般可分成四步:对象迁移、数据迁移、业务迁移、特殊故障时的容灾回切。KunDB提供专业的语法转换、数据迁移、数据实时同步等工具,可以帮助用户实现自动化迁移,大幅提升迁移效率。

关键能力三:分布式和集中式的一体化,集中式可快速扩容成分布式一些发展中的中小型企业或者非核心业务系统,目前没有非常庞大的数据量,考虑到投资成本压力、未来业务量增长导致集中式数据库无法满足需求、以及担心从Oracle、MySQL迁移到国产分布式数据库过程中影响业务等问题,用户在集中式与分布式数据库中间选型左右为难。KunDB3.2实现了集中式和分布式一体化,整个系统采用同一套代码,集中式可以一键扩容成分布式架构,并且性能线性扩展比达到90%以上,满足高并发、大流量的访问。集中式和分布式一体化主要带来三个方面业务价值:第一,“应用”不重写。从Oracle、MySQL迁移到KunDB,高度兼容语法及数据对象,无需业务重写应用。当从集中式扩容到分布式时,支持透明分布式自动分片,对业务做到透明,无需业务重写应用,为企业提供便捷的弹性扩展,很好地满足IT架构未来得发展。第二,“扩展”不困扰。集中式模式下,KunDB单机TPC-C性能达到188万tpmC,具有比传统集中式数据库更强的性能。通过可视化管理平台,可一键扩展成分布式,并且性能线性扩展比超90%,,降低扩展及运维管理成本。第三,“功能”不妥协。集中式支持小规模部署,可在4核8G资源下稳定运行,并且集中式在功能上和分布式一样,没有衰减,支持完整功能,包括高可用、运维管理、数据安全、异构混合部署等能力。关键能力四:一站式监控运维管理数据库运维对于企业来说是非常关键的,尤其是分布式系统,安装、监控、报警、故障处理等给企业带来了很大的挑战。KunDB提供一站式的运维管理平台Advisor,提供集群管理、监控告警、故障分析、巡检管理等能力,用自动化和可视化的方式解决当前企业数据库运维的痛点,降低企业数据库运维门槛和成本。

  • 集群管理,可以进行容灾管理、强制切换、优雅切换、日志查看等,例如在会话管理方面,传统方式需要到每个节点上查看会话,KunDB3.2可以在Advisor上统一查看所有节点上的会话情况
  • 监控告警,包括负载指标监控、SQL监控、AAS监控、告警规则设置、实时告警等。KunDB提供类AAS的DBA分析工具,契合Oracle运维专家原来的使用习惯,实现运维的无缝迁移
  • 故障分析,通过对各种日志的记录、采集、分析,辅助运维人员进行各类故障的分析
  • 巡检管理,自动进行系统的监控巡检,健康状态分析,自动生成巡检报告,对实例状态进行健康评估

 

相比于传统集中式数据库,分布式数据库的性能监控及调优对于运维管理人员来说是非常困扰的事情。KunDB3.2可通过统一平台Advisor实现负载监控、TopSQL、慢查询SQL、AAS监控等,分析集群的负载情况,帮助运维人员洞察性能瓶颈。关键能力五:DBPaaS云化部署优化,多实例池化管理,提升资源利用率KunDB基于星环数据云平台TDC可实现分布式架构与容器技术的有效结合。实现数据库组件的服务化和灵活编排,不捆绑IaaS和硬件平台并支持X86和ARM混合部署,兼顾私有化部署和云化部署场景,实现了资源隔离、快速扩缩容和弹性调度,充分利用硬件资源。KunDB3.2在DBPaaS上做了很大的提升。例如,利用反亲和部署,机器故障时可把数据库服务快速转移到健康节点,从而保障服务的连续性。多租户模型提供系统租户服务、元数据服务和租户服务。如租户服务利用独立的数据库实例为应用提供数据库服务,租户之间是物理隔离的,与多实例部署相比,多租户方案在资源上更加经济,在运维安全和便利性上有明显优势。每个数据库实例具有高可用(不分片)、分布式(分库分表)等部署形态,并且全链路高可用、按需扩缩容。数据库实例也可以选择按照Oracle方言模式、MySQL方言模式部署,更好的对接业务应用。关键能力六:KunCDC打通数据库与数据仓库,对接应用生态传统分布式关系型数据库底层数据单独存储到不同节点,从底层采集数据无法保证分布式事务强一致。KunDB3.2采用基于全局时间戳的事务处理框架,KunCDC基于TSO提供binlog日志保证全局事务一致性,实现整个分布式数据库对外输出逻辑日志强一致。用户可以将KunDB与企业大数据平台、数据仓库等对接,实现数据实时同步和计算,以及在并轨运行场景中将数据实时回流到原平台。如Oracle、MySQL中,来判断原系统的运行状况。在实际交易型场景测试当中,数据库40万tpmC情况下,KunCDC性能吞吐量达到100兆/秒,延迟控制在1秒内,处于行业领先水平。

此外,KunDB3.2也进一步加强了安全能力,覆盖用户标识与身份鉴别、访问控制、数据存储安全、数据通信安全、安全审计等多个方面。比Oracle的安全能力更全面。例如,在权限分立方面,KunDB3.2支持四权分立,无超级管理员。在数据存储安全方面,支持国密算法的透明存储加密和备份文件加密,并且拥有Oracle不支持的隐私计算能力。在数据流通等场景中,通过KunDB的数据脱敏和隐私计算能力,能够充分保障数据库内的数据存、算、用安全。

posted @ 2024-01-26 10:00  星小环  阅读(34)  评论(0编辑  收藏  举报