POLARDB在金融级数据库架构演进中的应用

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 深圳法大大网络科技有限公司曾经是POLARDB最大的用户,其数据库架构演进也在阿里云上发生了多次迭代,并最终取得非常好的效果。本文中深圳法大大网络科技有限公司副总裁兼CTO陈立清就为大家分享了法大大在业务演化过程中数据库方面遇到的一些问题,在这些问题发生之后的解决方案,以及最终借助POLARDB的实施效果。

深圳法大大网络科技有限公司曾经是POLARDB最大的用户,其数据库架构演进也在阿里云上发生了多次迭代,并最终取得非常好的效果。本文中深圳法大大网络科技有限公司副总裁兼CTO陈立清就为大家分享了法大大在业务演化过程中数据库方面遇到的一些问题,在这些问题发生之后的解决方案,以及最终借助POLARDB的实施效果。

_

法大大业务背景及问题

传统的合同寄送过程需要较长的时间,此外合同主体身份往往难以证明,并且大量的纸质合同导致企业难以管理,需要持续地投入很多的人力物力。法大大成立于2014年,主要针对于纸质合同出现的问题设计了第三方的电子合同平台,利用实名身份认证、防篡改以及区块链技术来解决合同当中安全以及合规性问题。

接下来从法大大整个业务流程来分享整个数据库使用过程中遇到的问题。国家法规中要求给每个用户主体身份颁发CA证书,而颁发CA证书的第一个条件就是为用户做实名身份认证,认证方式包括姓名和身份证号码比对以及银行卡信息比对以及人脸识别等,因此在这个过程中将会产生大量的用户数据文件。而因为需要为每个用户颁发CA证书,因此会产生大量的数字证书文件。签署电子合同的整个过程也需要记录到数据库中,因此也会形成大量合同签署文件的数据表。此外,当合同签署完毕还存在一个使用周期,当使用完成之后需要进行归档,这也会形成大量的结构化数据文件。

法大大的整个业务都是构建在阿里云上面的,使用了ECS、OSS、RDS等一系列的云产品。法大大最开始用的数据库是MySQL,而用户基本上都是高频使用电子合同的企业,他们对于业务的实时性、并发以及稳定性存在非常高的要求,而在此过程中,数据库就会成为一个使用瓶颈。上层的业务架构采用分布式,中间服务采用了微服务,所以在业务层面基本上可以实现弹性扩展,而底层的数据库部分则受限于MySQL 3TB容量的限制,这使得业务发展一度出现瓶颈。

在法大大发展过程中,在2016年1月份,当时的每天合同份数达到1万份,到2016年11月份达到了每天10万份,2017年5月份每天合同量就达到了100万份,直到今天每天合同份数达到270万份以上。目前,法大大有1000多家合作企业,累计签署合同超过7亿份。而在法大大的业务流程中,有这样几个点会出现大量文件。第一个就是证书表文件,这个文件的表空间有783G,总空间达到815G。第二个是证据表,表空间达到240G,总空间将近500G。而合同签署文件表达到17.8亿行,这是因为一份合同至少有两方以上签署。大文件的出现就带来了数据库的挑战。

在2015年,法大大数据库团队开始做读写分离,在杭州两个可用区做了双活架构,同时在数据库上做了读写分离和实例库拆分,在这阶段解决了每天10万份合同的压力。到了每天需要签署100万份合同的时候,法大大已经在北上杭深出现了核心用户群,所以在北京、杭州以及深圳做了三个数据中心,同时在三个数据中心中实现了双活。此时问题也出现了,这种数据库架构方式解决了分片区用户在使用过程中出现的业务瓶颈,但是从数据库角度而言,3T容量限制始终都会到来。这样的数据库架构也出现了诸多问题,因为有三个数据中心,那么用户在使用法大大官网的时候需要在多个数据源之间来回切换,这使得代码更加复杂。此外,在两个数据中心之间进行切换使得用户体验受到挑战。这种方式不仅无法面对3TB容量上线,其实也无法满足跨区域的要求。所以法大大想到了一个更好的解决方案——使用POLARDB。

法大大如何使用POLARDB解决业务数据困境

在新方案中,法大大在华北、华东和华南三个数据中心的数据先经过ETL清洗,之后进入POLARDB主节点中,同时利用POLARDB中只读数据库的复制特性实现读写分离,在数据库上层中增加了ES搜索引擎。这样就解决了三个数据中心的数据汇总问题。后续的用户查询以及报表应用也都集中在POLARDB上进行实现了,全国用户都集中在杭州数据节点中完成。

具体而言,法大大技术团队做了这样几件事情:使用Kafka消息队列将几个数据中心中的数据进行漫游同步,保持数据中心的核心数据一致性。为了保证数据汇总后主键的一致性,在三个数据中心中做了主键隔离。第三点就是历史上全部数据分成两个部分:生产数据和归档数据。对于归档数据首先增量复制到POLARDB上来,将POLARDB作为底层的全局数据源。此外,在POLARDB上导入了ES做全文的搜索引擎,利用多个只读节点来分片导入,加快索引的速度。在业务层面上,当全部数据汇总完成之后,对于数据相关报表分析都基于POLARDB实现。目前,法大大中还是MySQL和POLARDB并存的,因为在业务层面上还需要不断调整和深入。在数据向POLARDB迁移的过程也是不断深入的。目前,法大大在主要的合同签署功能上还是用MySQL,未来将会向POLARDB迁移。目前对于MySQL主库会实现定期清理,将这部分数据全部汇总到POLARDB数据库里面。

实施效果评价

从实施效果上来看,POLARDB能够100%兼容MySQL,对于法大大而言,可以通过DTS非常平滑地将数据从MySQL迁移到POLARDB,减小了工作量。此外,POLARDB自带读写分离机制,并且提供了7*24小时的高可用,同时也节省了很多的成本。计算和存储分离的架构设计解除了数据库3T存储容量的限制,用户可以根据自身需要实现数据库扩容的增长。并且POLARDB具有较强的并发高性能查询能力,因为采用了读写分离的架构,支持多路应用服务器并发访问,提供了企业级的高性能、高可用的能力,提高了查询的性能。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
12天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
21 2
|
13天前
|
机器学习/深度学习 API 语音技术
|
3天前
|
存储 关系型数据库 分布式数据库
电子好书发您分享《PolarDB分布式版架构介绍PolarDB分布式版架构介绍》
**《PolarDB分布式版架构介绍》电子书分享:** 探索阿里云PolarDB分布式设计,采用计算存储分离,借助GMS、CN组件实现大规模扩展。[阅读更多](https://developer.aliyun.com/ebook/8332/116553?spm=a2c6h.26392459.ebook-detail.5.3b3b2ccbVVjjt0)
14 3
|
1天前
|
关系型数据库 分布式数据库 数据库
电子好书发您分享《PolarDB分布式版架构介绍》
阅读阿里云电子书《PolarDB分布式版架构介绍》,深入理解这款高性能数据库的分布式架构设计。书中通过图文并茂的方式揭示了PolarDB在分布式场景下的核心特性和技术优势,适合数据库爱好者和云计算从业者学习。[阅读链接](https://developer.aliyun.com/ebook/8332/116553?spm=a2c6h.26392459.ebook-detail.5.4ab72ccbIzDq2Q)
|
2天前
|
存储 SQL 关系型数据库
电子好书发您分享《PolarDB分布式版架构介绍》
**PolarDB分布式版详解:** 阿里云的PolarDB采用计算存储分离架构,利用GMS进行元数据管理,CN处理分布式SQL。结合PolarFS,实现高效存储与计算,支持大规模扩展。[阅读完整架构介绍](https://developer.aliyun.com/ebook/8332/116553?spm=a2c6h.26392459.ebook-detail.5.5b912ccbE20nqg)
|
2天前
|
关系型数据库 OLAP 分布式数据库
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
4月26日周五,PolarDB开源社区联合康恩贝将共同举办开源数据库技术沙龙,本次沙龙我们邀请了众多数据库领域的专家,期待大家的参与!
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
|
7天前
|
存储 数据库连接 数据处理
NumPy与数据库的结合应用探索
【4月更文挑战第17天】本文探讨了NumPy与数据库结合在数据处理和分析中的应用,阐述了结合使用的必要性,包括数据提取、转换、处理与分析及结果存储。通过Python数据库连接库提取数据,转化为NumPy数组进行高效计算,适用于金融等领域的数据分析。结合应用的优势在于高效性、灵活性和可扩展性,但也面临数据转换、性能优化和安全性挑战。
|
8天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
45 0
|
12天前
|
运维 监控 自动驾驶
构建可扩展的应用程序:Apollo与微服务架构的完美结合
构建可扩展的应用程序:Apollo与微服务架构的完美结合
32 10
|
12天前
|
运维 关系型数据库 分布式数据库
「合肥 * 讯飞」4 月 19 日 PolarDB 开源数据库沙龙,报名中!
4月19日周五,PolarDB开源社区联合科大讯飞共同举办开源数据库技术沙龙,本次沙龙我们邀请了众多数据库领域的专家,期待大家的参与!
「合肥 * 讯飞」4 月 19 日 PolarDB 开源数据库沙龙,报名中!

相关产品

  • 云原生数据库 PolarDB