PolarDB采用存储和计算分离的架构,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务,既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势。本文介绍凭安征信服务有限公司如何通过PolarDB应对业务挑战。
所属行业:商务服务业
网站地址:凭安征信
公司介绍
凭安征信作为央行上海总部备案的企业征信机构以及国家中小企业公共服务示范平台,承担着为中国超过1.5亿的市场主体提供综合信用服务的重要角色。面向小微企业这一庞大且多元化的市场,凭安征信采集、分析、加工并整理企业的信用信息,已形成深具影响力的系列服务和产品。旗下的水滴信用产品已成功服务超过1000万小微企业,同时还与银行、证券公司、央国企等多个行业的头部客户保持紧密合作,有效促进了信用信息的健康流动和行业透明度。
业务挑战
凭安征信作为一家对外提供企业数据服务的公司,提供全国3.3亿+多维度企业信息,涵盖企业背景、实际控制人、对外投资、融资历史、股权结构、法律诉讼等。其近年来,企业数量持续上升,政策法规日益增多,外部服务指标也在不断拓展。加之在信息化时代的大背景下,企业信息变更频繁,客户服务的并发调用需求显著增加,这对凭安征信的技术架构带来了更大挑战,尤其对作为核心数据存储的MySQL数据库而言,压力尤为严峻。数据库面临扩展性、一致性和运维等方面的挑战。
解决方案
为了应对业务痛点,凭安征信将数据从传统MySQL数据库迁移到了阿里云的云原生数据库PolarDB。PolarDB基于云原生架构,采用计算与存储分离的设计,结合软硬件一体化,提供超高弹性与性能、高可用性和高可靠性保障,极具性价比的数据库服务。
架构性能优化
PolarDB采用计算与存储分离架构,使得数据库服务器的CPU和内存能够迅速扩容,集群配置的升降级仅需几分钟即可完成,从而满足公共云计算环境下对业务发展弹性扩展的刚性需求。当业务需要更多资源的时,客户新增一个节点仅需1分钟左右,实现了极致的快速弹性的优化。由于存算分离的架构的设计,PolarDB的共享存储IOPS通常是同规格传统数据库MySQL的2~5倍,有效的解决了因IO带来的业务访问压力问题。
同时PolarDB支持大容量数据存储,单集群最大可支持500 TB的存储空间。此外,PolarDB实现了共享分布式存储,多个计算节点共享同一份数据,而不是每个节点都存储一份数据,可以极大地降低存储成本。基于全新设计的分布式块存储和文件系统,PolarDB的存储容量可以实现在线平滑扩展,不受单个数据库服务器存储容量的限制,能够有效应对上百TB级的数据规模。
大表操作效率优化
凭安征信选择了十余个PolarDB集群来承载企业信用大数据,满足了快速增长的数据需求,成功解决了存储空间不足、扩容不灵活和IOPS性能差的问题。
并行DDL
PolarDB支持并行DDL,充分利用多线程能力加速创建主键索引和二级索引(不包括全文索引、空间索引和虚拟列上的二级索引)的DDL操作。当数据库硬件资源空闲时,通过并行DDL功能可以加快DDL执行,避免阻塞后续相关的DML操作,从而缩短DDL操作的执行窗口期。
秒级加字段
在使用传统MySQL数据库执行加列操作时,需要重建整个表数据,这会占用大量系统资源。而PolarDB支持秒级加字段功能,在进行加列操作时仅需变更表定义信息,无需修改已有数据,可以在秒级内完成对亿级别表的加列操作。
保障数据0延迟
PolarDB具备高性能全局一致性。这是对原有全局一致性级别的升级,具备比全局一致性更严格的强一致性要求。此功能实现了数据在横向扩容的只读(RO)节点与可写(RW)节点之间的同步,确保数据在写入时达到0延迟。
传统数据库通过日志流在主节点和从节点之间进行同步,这一架构已经沿用数十年。PolarDB则改变了这一方式,利用远程直接内存访问RDMA技术,实现多个计算节点间数据和信息的直接交互,从而确保只读(RO)节点具备性能无衰减的全局强一致读。在高性能全局一致性中,RO节点通过RDMA的一侧远程读取获取可写(RW)节点上当前最新的提交时间戳,用于计算当前的事务延迟情况并构建强一致性读视图。
PolarDB结合PolarProxy,实现了跨计算节点的事务一致性,使得事务内的写前读和写后读能够分流到只读节点。这确保了凭安征信在处理企业数据时,无论何时读取的数据均为最新数据。
客户感言
通过引入PolarDB,凭安征信的数据系统得到了显著的优化。首先,PolarDB通过分离架构有效分担了查询压力,确保了高峰期业务的连续性和稳定性,为客户提供了及时、准确的数据服务,避免了因数据不一致而导致的潜在风险。其次,PolarDB的并行DDL机制使得运维效率显著提升,运维人员无需在业务低峰期进行繁琐的表更改,大幅提升了运维效率。