移动互联网的兴起和发展开创了一个数据时代,实时交易量和数据量呈爆发式增长,导致银行的IT技术架构不堪重负,尤其在双十一、双十二、“618”、春节期间,银行IT系统更是面临前所未有的处理压力。面对这样的新态势,在传统的IT体系架构中,集中式数据库系统的处理能力受制于单台硬件容量上限、扩容不方便、存在单点故障风险等弊病日益凸显,已无法满足业务的要求。
分布式架构相比集中式系统具有高并发、高弹性、高可靠、低成本等技术优势,因此分布式的IT架构也被愈来愈多金融机构所认同和接受,人民银行也多次强调银行业要加快分布式架构转型。
目前,分布式数据库解决方案已经呈现百花齐放的态势,从技术路线来说,OLTP分布式数据库产品路线分为两大类:原生分布式数据库和数据库中间件解放方案。严格来说,数据库中间件解决方案不是数据库产品,其实现的核心是基于开源数据库的上层搭建一层代理组件,其底层核心引擎还是依赖于MySQL、PG等数据库引擎,相比原生分布式数据库来说,技术实现门槛低,不掌握核心技术,目前绝大多数产品是此类。这种方案其实和最初期一些DBA在人工规划数据分区解决数据库性能的朴素思想是一致的,而后在互联网企业逐步实现为组件化产品。总的来说,数据库中间件在中国互联网快速爆发中,确实解决了互联网行业承受的巨大交易量处理能力问题,有其自身价值,但是对于复杂的场景比如金融行业,其具有一定的技术局限性,比如对于数据切分规则制定、数据高可靠性、跨节点多表JOIN性能和安全性、跨节点分布式事物一致性和性能、全局一致性快照、应用开发的侵入性等存在着一些问题,感兴趣的读者也可以结合国外的相关技术文章进行分析。
中间件解决方案示意图
在此背景下,上海丛云信息科技有限公司成立初衷就是要解决传统行业的在新形势下所面临的数据库这一技术难题,并没有走数据库中间件解决方案的捷径,而是依托高校的科研力量,结合传统银行技术专家和国内互联网技术骨干工程实力,致力于自主可控原生分布式数据库系统的研发。公司自主研发的OBASE产品,是金融级别OLTP分布式关系型数据库系统,其设计的主要目标是:
1) 强一致性:提供金融级别的ACID基本要求;
2) 高可靠:系统无单点,提升系统可靠性和服务连续性;
3) 高性能:充分调度多机资源并行计算,支持高并发高性能;
4) 高弹性:提供在线一键式横向扩容、缩容能力,数据自动实现重分布;
5) 分布式数据一致性:实现Paxos保证分布式数据一致性,主节点发生故障10秒完成自动切换且数据不丢失;
6) 多活部署:数据库层提供多中心数据实时同步,且可通过流量分配来保障7*24小时无间断服务;
7) 标准访问接口:兼容SQL92标准,对应用开发无侵入,同时实现DB2、Oracle、MySQL特性,建表语句和SQL语句支持回切;
8) 低成本:基于PC Server,通过合理分布式架构设计保障高可靠,整体配套成本低。
OBASE架构示意图
OBASE作为一款金融级别OLTP关系型原生分布式数据库,与同类产品对比,其主要优势有:
1
兼容SQL92标准
OBASE SQL集是SQL92标准的一个子集,兼容绝大部分常用SQL语法;同时实现了DB2、Oracle、MySQL某些特有语法,可基本做到平滑迁移。某城市商业银行一交易系统先在OBASE上开发,后又做从OBASE平滑切回Oracle的实际反向切换,整个切换上线过程都是由银行IT部技术人员独立完成,不需要厂商人员现场支持。
2
高可用特性
OBASE是原生分布式自主开发数据库的优秀产品,从产品技术架构方面避免了传统集中式数据库单点故障,系统无单点,数据多副本冗余存储,管理节点基于Paxos协议自动选主,在主节点失效情况下能自动恢复;事务节点TG与传统数据库采用相同的WAL日志策略,基于Quorum提交协议,在主机日志同步到半数以上备机时才可以提交事务,在半数以上备机有效的场景下保证不丢失数据。
3
高弹性
OBASE提供在线横向扩展能力,通过简单的横向扩展提升系统的处理能力。随着业务负载的增加,可以随时一键式向集群中添加数据节点DG分担负载。当DG节点下线导致副本丢失时,系统会自动进行数据分片的复制和迁移,以实现负载均衡和容错,整个过程无需人工干预,对业务也完全透明。某城商行在网联支付系统上线后,其性能大幅超出实际业务交易量,后直接在线操作下线一台数据节点挪为其他系统使用,整个过程无任何风险。
4
对应用无侵入性
OBASE是原生的自主研发的分布式数据库系统,不是数据库中间件,具有纯粹的关系模型,没有分库分表的限制,没有Join限制,扩容和迁移对业务无影响,无需考虑容灾。对开发人员来说,它就是一款类似集中式数据库DB2、Oracle一样的关系型数据库。
5
多活部署
现有银行IT系统的数据主要都运行在一个主数据中心,为了保障数据安全,监管要求必须在异地建设备份数据中心,然后通过购买额外的数据同步服务和设备进行数据复制同步。这种方式主要有以下几点问题:一旦主数据中心出现故障,备数据中心很难保证数据一致性和服务连续性;备数据中心的资源只有在主数据中心发生故障才有可能提供服务,绝大部分时间处于闲置状态,存在极大资源浪费;另外主数据中心与备数据中心之间同步除了需要购买额外的服务和设备,同时还要配备专门的技术人员,操作复杂,风险高。
而OBASE分布式数据库则可以解决业界这一难点,OBASE支持多地多数据中心部署,数据中心之间通过OBASE内部数据同步机制实现跨数据中心的实时同步,真正保证数据中心之间的数据一致性和服务连续性。此外OBASE还提供数据中心之间的流量配比可便捷控制各数据中心的访问流量,这样即使数据中心发生故障、设备更换、数据库软件升级,也可以通过数据中心之间的流量切换,提供真正意义的不停服务7*24小时服务。
6
服务支持能力
OBASE从产品设计、技术研发到客户支持,都由自身核心团队自始至终全部承担,可以根据客户要求进行产品研发升级,一旦在使用过程遇到问题可以立即跟进解决。
有的产品由于受国外产品或开源限制,国内不能彻底掌握,一旦发生故障很难及时解决,甚至无法解决。同时国外厂商一般需要提取数据库日志发往国外实验室进行研究,不仅流程周期长,还存在安全风险。
7
成本优势
OBASE对应用开发无侵入性,且系统运维与业务部署隔离,互不干扰,系统自治程度高,自动完成数据分片,复制,迁移,自动管理系统内的各个节点,大大降低应用系统的开发效率和减少运维的工作量投入。
OBASE使用PC服务器集群取代高端硬件设备,与传统小型机、大型机架构对比,能大幅降低整体配套成本。此外,由于OBASE在架构和性能上的优势,面对同样的交易压力和可靠性要求,OBASE需要的PC服务器节点数更少,甚至数据节点不需要配置Raid卡。由于数据库系统的更新比较频繁,对硬盘损耗很大,OBASE对磁盘读写进行了优化,使得磁盘的使用寿命延长、损坏率降低,有效降低存储的成本。
8
安全可控
OBASE为纯自主研发产品,不依赖于和受制于国外开源数据库,真正掌握核心技术,技术支持与保障更有保障,未来产品发展技术路线更加广阔,完全自主可控。
OBASE是一款国产完全自研的分布式数据库,真正做到高可靠、高性能、高弹性、易使用、低成本、多活部署的分布式数据库。OBASE目前已成功应用于国有大型银行、城商行、省农信、农商行等核心交易型系统,实现真正替换Oracle、DB2。公司高度重视产品研发和技术积累,积极探索和多所高校建立深度合作关系,依托科研院校的研究成果,共建科研成果转换平台,推动公司产品技术不断发展,掌握技术领先优势,为客户解决在数据库这一关键领域的问题,给客户带来实实在在的价值。
作者简介:
江晶
分布式数据库领域资深专家,长期从事自主原生分布式数据库系统研发工作,带领团队在国有大型银行完成了多个大型关键交易系统自研、使用分布式数据库的创举,在分布式数据库的架构设计、技术实现、应用实践、测试运维等方面具有独到的理论造诣和实践经验。