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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 深圳法大大网络科技有限公司曾经是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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
18天前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
18天前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
6天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构:打造弹性可扩展的应用
【9月更文挑战第29天】在云计算的浪潮中,云原生架构成为企业追求高效、灵活和可靠服务的关键。本文将深入解析云原生的概念,探讨如何利用容器化、微服务和持续集成/持续部署(CI/CD)等技术构建现代化应用。我们将通过一个简易的代码示例,展示如何在Kubernetes集群上部署一个基于Node.js的应用,从而揭示云原生技术的强大能力和潜在价值。
19 6
|
7天前
|
监控 Cloud Native 持续交付
云原生架构:构建弹性与高效的现代应用##
随着云计算技术的不断成熟,云原生架构逐渐成为企业技术转型的重要方向。本文将深入探讨云原生的核心概念、主要技术和典型应用场景,以及如何通过云原生架构实现高可用性、弹性扩展和快速迭代,助力企业在数字化转型中保持竞争优势。 ##
25 6
|
8天前
|
运维 Cloud Native 持续交付
云原生架构:构建未来应用的基石
本文将深入探讨云原生架构的核心概念、主要优势以及实际应用案例,揭示其在现代IT领域的重要性。通过详细解析云原生技术的各个方面,帮助读者更好地理解和应用这一前沿技术。
|
6天前
|
存储 搜索推荐 数据挖掘
数据库的应用
数据库在众多领域发挥着重要作用。在企业管理中,它助力客户关系、人力资源和财务管理,提升决策科学性和效率;金融领域中,银行系统、证券交易和保险行业依托数据库保障交易安全、投资决策及风险管理;医疗行业则通过电子病历管理和数据分析提高诊疗准确性并优化资源配置;电子商务运用数据库实现商品、订单管理和用户行为分析,增强购物体验;教育领域中,数据库支持学生信息、教学资源管理和教育数据分析,促进家校沟通与教学质量提升;科学研究方面,数据库促进数据共享、科研项目管理和深入数据分析,加速科学进步。
13 3
|
9天前
|
Cloud Native 关系型数据库 分布式数据库
阿里云牵手海亮科技,共建“教育科技数据库创新应用中心”
近日,阿里云与世界500强旗下、国内领先的教育服务提供商海亮科技集团(以下简称“海亮科技”)达成合作,联合成立“教育科技数据库创新应用中心”。双方将充分整合优势资源,共同推进教育科技领域的数据库技术研究和国产数据库的应用与发展。
44 7
|
9天前
|
Cloud Native 持续交付 云计算
探索云原生架构:构建现代应用的新范式
在当今数字化浪潮中,云原生架构以其敏捷性、弹性和可扩展性成为企业技术转型的核心驱动力。本文将引领读者深入理解云原生的概念,剖析其关键技术组件——微服务、容器化、DevOps实践及持续交付/持续部署流程,并揭示这些技术如何相互协作,共同构建高效、可靠且易于管理的现代软件系统。通过对云原生架构的全面解读,我们旨在为开发者、架构师乃至企业决策者提供有价值的见解与指导,助力其在快速变化的市场环境中保持竞争力。
|
15天前
|
Kubernetes Cloud Native Serverless
探索云原生技术:从基础架构到应用实践
本文深入探讨了云原生技术的各个方面,包括其定义、核心原则、关键技术组件以及在现代企业中的应用。通过分析云原生如何推动数字化转型和提高业务敏捷性,文章旨在为读者提供对这一领域的全面了解和实际应用的指导。
42 7

相关产品

  • 云原生数据库 PolarDB
  • 下一篇
    无影云桌面