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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 深圳法大大网络科技有限公司曾经是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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
桐碧2018
+关注
目录
打赏
0
0
0
0
9890
分享
相关文章
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
71 1
PolarDB开源数据库进阶课15 集成DeepSeek等大模型
本文介绍了如何在PolarDB数据库中接入私有化大模型服务,以实现多种应用场景。实验环境依赖于Docker容器中的loop设备模拟共享存储,具体搭建方法可参考相关系列文章。文中详细描述了部署ollama服务、编译并安装http和openai插件的过程,并通过示例展示了如何使用这些插件调用大模型API进行文本分析和情感分类等任务。此外,还探讨了如何设计表结构及触发器函数自动处理客户反馈数据,以及生成满足需求的SQL查询语句。最后对比了不同模型的回答效果,展示了deepseek-r1模型的优势。
113 0
PolarDB开源数据库进阶课14 纯享单机版
PolarDB不仅支持基于“共享存储+多计算节点”的集群版,还提供类似开源PostgreSQL的单机版。单机版部署简单,适合大多数应用场景,并可直接使用PostgreSQL生态插件。通过Docker容器、Git克隆代码、编译软件等步骤,即可完成PolarDB单机版的安装与配置。具体操作包括启动容器、进入容器、克隆代码、编译软件、初始化实例、配置参数及启动数据库。此外,还有多个相关教程和视频链接供参考,帮助用户更好地理解和使用PolarDB单机版。
61 0
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
64 19
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
首届全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)圆满收官
首届全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)圆满收官

相关产品

  • 云原生数据库 PolarDB