蚂蚁架构师郭援非:分布式数据库是金融机构数字化转型的最佳路径

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: OceanBase立志于成为世界领先的企业级数据技术解决方案提供商。

2020年8月26-28日,在中科软科技举办的中国财险科技应用高峰论坛上,蚂蚁集团高级解决方案架构师郭援非发表了《OceanBase分布式关系数据库助力保险业务创新》的主题演讲,为大家分享了蚂蚁集团企业级分布式关系数据库OceanBase的发展历程、产品价值,以及在保险行业的最佳实践应用。以下为演讲整理。

0002.jpg

各位朋友,下午好!

支付宝在全球有十几亿用户,他们可以同时进行可靠、稳定、高效的支付交易,这背后离不开一个重要的秘密武器——OceanBase。今天我很荣幸向大家介绍OceanBase的发展过程、产品特点,以及在保险行业的最佳实践。

分布式数据库OceanBase的迭代

OceanBase数据库立项于2010年,第一个客户是淘宝收藏夹。2013年,OceanBase开始了对SQL的支持。2014年,OceanBase开始支持网商银行的所有业务,成为了全球首个应用在金融核心业务系统的分布式关系数据库。从2014年到2016年,支付宝全部的交易系统和核心账务系统都跑在OceanBase之上。多年来全世界十几亿用户在支付宝上发生的所有交易都是由OceanBase来承载,始终稳若磐石。

2017年,我们开始向更多的外部客户输出我们的技术,我们帮助南京银行打造了“鑫云+”互联网金融业务核心。OceanBase服务过的这些场景里既包括新兴的互联网金融核心业务、传统的金融核心业务,也包括对传统数据库的替换,对MySQL的替换,都非常成功。

2019年, OceanBase参加了世界数据库范围内最权威的TPC-C认证测试,我们取得了6088万tpmC的成绩,是第二名传统数据库公司甲骨文的两倍。TPC-C绝对不是一个简单的跑分测试,实际上,它是要求被测试的对象必须满足数据库的ACID四个事务特征才能够进行的测试。

2020年,我们又一次参加了TPC-C测试, 达到了7.07亿tpmC,跑出了接近去年12倍的成绩,再次问鼎TPC-C榜首。今年6月份OceanBase正式独立成公司,我们立志于成为世界领先的企业级数据技术解决方案提供商。

数据库形态演进

金融业的核心业务系统,包括保险行业的核心业务系统仍旧大规模使用传统集中式数据库。这种方案带来了两个问题,一是集中式数据库造价非常高,来自于两方面,一方面是软件License很贵;另一方面是硬件很贵,因为它必须使用高端硬件,比如IBM的大机、EMC的高端存储,这些都是非常昂贵的,时间长了再大的企业也很难承受;二是扩展性非常不好,传统集中式数据库都是基于共享存储(shared-storage)的方式做横向扩展,当面临关键业务系统发展需要不断扩容的时候,这种方案有心无力,难以做有效的支撑。

对于上面这种方案业界提了一种补丁方案,十几年前曾有人提出既然传统集中式数据库很贵,那么在单机开源的基础上加一个语法兼容,这样就解决了它昂贵的问题。但是发展到今天,我们在金融领域的核心系统还没有看到广泛使用这种方案。原因很简单,金融业核心系统使用传统集中式数据库主要不是因为它们在语法上的完善和优秀,根本原因在于它们的稳定可靠,而这个补丁方案做不到这些,同时这个方案也没有解决扩展性的问题。

说到扩展性同样是在十几年以前,最早在互联网企业中提出了这么一种方案,叫做分库分表,一个典型的例子就是在多台单机的MySQL上,用Proxy把MySQL单机集成为MySQL集群,提供很好的算力。这种方案同样具有很大的问题,当计算发生在单个MySQL机器内部的时候一切很好,但是一旦用户的负载跨越MySQL单机边界的时候,你可能会发现分库分表系统的表现并不尽如人意。具体来说,在全局事务、数据强一致性、负载均衡以及复杂SQL方面都不能很好的支持,所以这种方案的使用场景非常受限。截止到今天,在银行、保险、券商行业的核心业务系统中依然没有广泛使用过这种方案。

那么到底是否存在这样一种数据库系统?它既可以提供传统集中式数据库的高可靠性,又成本可控,同时扩展性良好。在这个基础之上还能够满足事务的ACID、具备强一致性、复杂SQL的处理能力。答案是有,而且可以更好,那就是OceanBase。

OceanBase的三大独特价值

首先,OceanBase是一款完全自主研发的分布式关系数据库,代码是百分之百自研的,包括SQL引擎、存储引擎都是我们的工程师自己一行一行代码写出来的。这一点很重要,它意味着当你的数据库出现问题的时候,我们的工程师不需要求助开源社区,我们自己就可以兜底,这对于要求稳定,要求可靠,要求有可预期性的金融领域的核心业务系统是一个刚需,这一点OceanBase可以充分提供。

第二, OceanBase是全世界唯一一款经过长时间复杂金融场景验证的原生分布式数据库。数据库其实是一个非常复杂的系统,它的复杂度甚至不亚于操作系统,对它的各种复杂应用场景的测试不是一个简单的测试程序可以穷尽的。目前,可能唯一有效的方法就是在实践中找到足够复杂、足够多的场景对数据库进行反复的使用,使用到最后没有问题为止大家才会信任它。我们非常高兴的告诉大家,OceanBase做到了。

第三,OceanBase数据库是全世界范围内唯一一款基于普通的X86云服务器,在TPC-C领域获得第一名的原生分布式数据库。登顶TPC-C榜单意味着OceanBase不但可以提供世界级的性能,而且可以提供单机数据库一样的完整体验,这一点意味着用户可以像使用单机数据库一样使用OceanBase。

OceanBase核心特性

在OceanBase数据库中,我们通过“五高一多”的特点定义了分布式数据库的领先标准。

1、高可用
我们通过Paxos协议和多副本技术,可以提供很好的高可用性,当出现灾难的时候我们可以做到RPO=0,RTO<30秒,这完全可以满足企业的容灾需求。同时由于我们使用的是Paxos协议, Paxos协议是支持日志空洞的,这就带来一个好处,当在网络出现波动的时候,我们可以给到更好的性能保证。

OceanBase的高可用性,是完全在通用X86服务器和普通硬件上提供出来的,没有使用任何高端硬件,所以我们的成本会更低一些。

2、高扩展
在实际生产系统中单个OceanBase集群内的服务器可以达到100台以上。而且OceanBase具有很好的线性扩展比。高扩展性还体现在扩容时的自动负载均衡,这意味着当DBA需要扩容的时候,所做的只是增加一台机器到集群里,接下来,我们的OceanBase管理系统会自动的根据系统的负载情况,把数据迁移到新加的机器上。整个扩容缩容过程中,业务没有感知。

3、高性能
我们采用了很多先进的技术来提高数据库的性能。比如LSM Tree、无锁结构、消除磁盘的随机写等等,这些技术帮助我们充分使用硬件的能力,再辅以高扩展性,我们就可以提供一个世界级性能的OceanBase集群。

在实际的生产系统里,我们可以在峰值的时候提供6100万次每秒,单表最大容量可以到3200亿行。和高性能伴随的是低成本,因为我们采用了LSM Tree结构,所以当数据落盘的时候是更有组织的,可以做到1:3的压缩比。

4、高透明
我们实现了不少关键技术,比如全局一致性快照、全局索引、自动事务两阶段提交。使用OceanBase数据库,应用就像使用一台单机数据库一样,不需要做针对分布式数据库的特别感知和修改。

5、高兼容
我们在一套OceanBase集群上同时为您提供两套生态,一套是Oracle生态,一套是MySQL生态,有效地降低业务迁移改造的成本。同时我们和国内主流的操作系统、芯片也都做了互认的支持,可以有效满足技术供应链安全的需求。

6、多租户
多租户就是在一个OceanBase集群上,可以建立很多个租户,每个租户对应一个Oracle实例或者是MySQL实例。可以用这个特性实现业务大集中,把以前全国一省一套的传统集中式数据库都集中在一个OceanBase数据库集群那里。也可以做不同种类的小业务的集中,之前几十个小的业务现在都集中在一个OceanBase集群里统一管理,这个特性不但可以有效利用集群资源,更可以有效降低 DBA的运维成本。

OceanBase产品定位与形态

OceanBase可以提供拥有世界级性能的OLTP引擎,同时也提供一个非常优秀的OLAP引擎,这意味着辅以刚才提到的多租户功能,您可以在一个OceanBase的集群里创建不同的实例,有的专门用于交易,有的专门用于分析,当然也可以创建一个大的实例,既做交易又做分析。OceanBase目前真正做到了一套HTAP引擎,它能够同时支持交易和分析型业务。

OceanBase的容灾架构,既支持经典的主备容灾方式,同时也支持基于Paxos协议的容灾方式,我们支持同机房三副本,也支持同城三机房,甚至是两地三中心,三地五中心,这些不同的容灾级别可以完全满足您的容灾诉求。

关于部署模式,如果您希望和阿里云其他的优秀产品,比如和金融级分布式中间件SOFA或者对象云存储OSS一起使用,那么OceanBase可以在阿里云的专有云上为您输出。如果您只想使用OceanBase,我们也可以以一个纯License的方式提供给您,就在您的服务器上安装我们的软件,一样可以获得一个高可用、高扩展、高性能的集群。如果您希望只是购买一个公有云的服务,您可以在阿里云的公有云上购买一个OceanBase的RDS。这些不同选项可以无缝适配您各种不同的需求。

OceanBase在保险业的实践

OceanBase在保险业的最佳实践。一个很好的案例就是人保健康险。如果不熟悉的朋友可以打开您的手机支付宝,在上面搜好医保就可以看到人保健康险的产品。人保健康利用了金融级分布式数据库OceanBase和金融级分布式中间件SOFAStack解决了高并发保单处理能力速度慢的问题,目前每日平均出单量在15w左右。

自2018年4月11日人保健康险好医保产品成功上线后,截止到目前,好医保已成为支付宝网红保险产品。OceanBase上线中国人保健康以后,取得了显著的收益:

  • 处理能力提升了上千倍,并可根据业务情况动态扩容
  • 2018款好医保住院医疗保险,每天1万单的日结文件,处理速度从以前的4小时缩短至6分钟
  • 新产品上线时间缩短80%以上,从原来的数周缩短至数天
  • 采用多种协议转换和标准化对接流程,使外部渠道接入效率提升6倍,支持第三方业务快速拓展

谢谢大家听完我的汇报,期待着未来我们可以用OceanBase数据库更好的服务于保险行业,和各位好朋友一起打造面向未来的保险业的核心业务系统。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
143 0
|
2月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
63 5
|
2月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
2月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
47 0
|
2月前
|
存储 SQL 运维
“震撼发布!PolarDB-X:云原生分布式数据库巨擘,超高并发、海量存储、复杂查询,一网打尽!错过等哭!”
【8月更文挑战第7天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
92 1
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
中国金融分布式数据库,双料冠军!
中国金融分布式数据库同比增长12.1%,阿里云绝对优势夺得公有云市场冠军
|
2月前
|
存储 负载均衡 中间件
构建可扩展的分布式数据库:技术策略与实践
【8月更文挑战第3天】构建可扩展的分布式数据库是一个复杂而具有挑战性的任务。通过采用数据分片、复制与一致性模型、分布式事务管理和负载均衡与自动扩展等关键技术策略,并合理设计节点、架构模式和网络拓扑等关键组件,可以构建出高可用性、高性能和可扩展的分布式数据库系统。然而,在实际应用中还需要注意解决数据一致性、故障恢复与容错性以及分布式事务的复杂性等挑战。随着技术的不断发展和创新,相信分布式数据库系统将在未来发挥更加重要的作用。
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
中国金融分布式数据库,阿里云双料冠军!
中国金融分布式数据库,阿里云双料冠军!
50 1
|
3月前
|
存储 关系型数据库 MySQL
深度评测:PolarDB-X 开源分布式数据库的优势与实践
本文对阿里云开源分布式数据库 PolarDB-X 进行了详细评测。PolarDB-X 以其高性能、强可用性和出色的扩展能力在云原生数据库市场中脱颖而出。文章首先介绍了 PolarDB-X 的核心产品优势,包括金融级高可靠性、海量数据处理能力和高效的混合负载处理能力。随后,分析了其分布式架构设计,包括计算节点、存储节点、元数据服务和日志节点的功能分工。评测还涵盖了在 Windows 平台通过 WSL 环境部署 PolarDB-X 的过程,强调了环境准备和工具安装的关键步骤。使用体验方面,PolarDB-X 在处理分布式事务和实时分析时表现稳定,但在网络问题和性能瓶颈上仍需优化。最后,提出了改进建
6822 2