PolarDB-X专注解决海量数据存储、超高并发吞吐、大表瓶颈以及复杂计算效率等数据库瓶颈问题,历经各届天猫双十一及阿里云各行业客户业务的考验,助力企业加速完成业务数字化转型 。本文介绍Ping++如何通过PolarDB-X应对业务挑战。

1
  • 所属行业:聚合支付
  • 网站地址:Ping++

客户介绍

Ping++始于2014年,伴随着中国移动支付大爆炸而生,是上海简米网络科技有限公司旗下的聚合支付品牌。

Ping++是每一家企业内部的虚拟支付团队,帮助企业快速高效地搭建自己的支付系统。无论企业是否已经对接支付渠道,都可以使用Ping++的产品和服务。Ping++是「交易的管道」,更是「交易的引擎」。

Ping++通过3大核心产品「实现所有主流支付渠道收付款」的聚合支付、「实现账户余额充值打赏」的会员系统以及「实现多层级商户分润管理」的多级商户系统为近30000余家不同商业形态的企业提供了服务。

Ping++致力于通过简单的代码,方便的管理平台,专业的咨询服务,强大的数据分析能力,成为企业的重要支付合作伙伴。

业务痛点及诉求

  • Ping++支付业务数据量大,并发高,已有RDS MySQL实例无法满足性能及扩展需求。
  • 交易、订单表数据量巨大,单表数据量10亿级,需要拆库拆表以缓解数据库压力。
  • 历史存量数据存在RDS MySQL之上,希望迁移后的分布式数据库语法兼容MySQL,迁移成本低。

技术选型

  • 主动在阿里云了解到PolarDB-X
  • 此前对比过开源产品Mycat。
  • Mycat前期人力成高、后期需要部署维护,问题解决成本高、时间长。
  • PolarDB-X商务成本相对可接受,产品化能力丰富,运维便捷,最后选型阿里云PolarDB-X

解决方案

Ping++业务早期均构建于RDS MySQL之上,数据体量从2016年1个亿至2017年5个亿发展到2018年10个亿,业务规模发展迅速,急需对数据库进行拆库分表。

目前Ping++目前采用两个PolarDB-X实例,每个PolarDB-X实例挂载4个RDS MySQL。

其中交易表使用订单号按Hash进行拆分,每个PolarDB-X实例8个分库,每个分库按tbpartition 16拆分为16张物理分表。

在线交易业务轻量OLAP类业务场景,使用PolarDB-X分析型只读实例,避免此前将OLTP业务数据通过ETL等方式同步至异构分析数据源,降低业务架构的链路复杂度,以节省运维及预算成本。

通过PolarDB-X分库分表,将数据库水平拆分有效解决了支付订单的存储瓶颈及高并发压力。

使用PolarDB-X升配及平滑扩容满足了业务高速发展过程中PolarDB-X数据库平滑扩展的诉求。

业务架构

建议及诉求

因存在历史数据,期望可以将几年前的冷数据进行归档,期望PolarDB-X提供数据冷热存储的能力。

后续规划

  • 后续其他核心业务及产品线也将使用PolarDB-X

  • 在Ping++业务高速发展的发展过程中,支付核心交易系统商户订单的数据量很大,同时具有高并发访问的特点。后续将通过PolarDB-X映射规则、热点迁移能力将部分大商户迁移至单独的RDS存储中,解决热点数据问题。

客户价值

Ping++自成立以来一直专注帮助企业快速高效搭建支付系统,2016年底因业务的发展部分核心业务数据并发写及存储面临瓶颈,需要通过拆分解决这两个痛点,主要考虑到性能、平滑扩容、易维护等需求,经过选型和测试后选择PolarDB-X,期间通过简单的操作很方便地解决我们数据库水平扩展的需求。

—— Ping++技术总监叶波光