PolarDB-X专注解决海量数据存储、超高并发吞吐、大表瓶颈以及复杂计算效率等数据库瓶颈问题,历经各届天猫双十一及阿里云各行业客户业务的考验,助力企业加速完成业务数字化转型 。本文介绍小打卡如何通过PolarDB-X应对业务挑战。
- 所属行业:互联网服务
- 网站地址:小打卡
客户感言
“PolarDB-X产品解决了我们社交场景中的圈子日记查询功能,每天用户在小打卡数十万的兴趣圈子中活跃,发布数百万条打卡日记,非常适合PolarDB-X的分库分表场景,降低了响应时间,提高了并发查询能力,利用异构索引表满足了我们多维度查询的需求,最近的全局二级索引解决了异构索引表数据延迟的问题。”
——小打卡后端负责人饶琳
客户简介
自2017年8月公司成立至今,小打卡已服务六千多万用户。小打卡是当前领先的兴趣社区,聚集了绘画、瑜伽、健身、手帐、摄影、亲子、阅读、潮玩等数百万个兴趣圈子,每天有数百万用户活跃在小打卡上,围绕各类兴趣和学习产生数百万条内容和数百万次互动。在这里,您能快速发现感兴趣的圈子;加入圈子,有达人带您玩转各种兴趣,有同好一起分享,一起成长。
业务挑战
- 圈子打卡日记数据量大,有10亿级数据的高性能存储诉求。
- 百万级活跃用户,有高并发读写诉求,同时需要在10亿级数据存储情况下保证平稳的读写性能。
- 圈子打卡日记业务在根据圈子做水平拆分表之后,还存在通过用户维度查询打卡日记的多维度查询诉求。
解决方案
- 通过PolarDB-X + RDS MySQL的分布式数据库解决方案支持客户核心业务圈子打卡日记;通过PolarDB-X水平拆分功能为客户提供海量数据存储能力;通过平滑扩容功能实现计算和存储的平滑扩展来支持百亿级数据存储和读写。
- 通过PolarDB-X进行水平拆分后,数据库业务由多个RDS MySQL承载,单个RDS业务读写压力大幅度下降。若出现性能异常,也只会影响部分用户的使用,同时由于单个物理表数据量小,性能异常对系统可用性影响较小。PolarDB-X通过多个RDS MySQL承载高并发写,可支撑百亿级数据和十万TPS、百万QPS场景下的稳定读写需求。
- 数据库表拆分后的多维度查询诉求是分布式数据库中间件的一个痛点,不按拆分键查询的SQL不能下推会导致在查询时出现全表扫描,PolarDB-X支持全局索引,通过全局索引可以完美解决多维查询的痛点。
客户价值
- 客户当前圈子打卡日记业务有10亿以上数据,每年有亿级增量,基于PolarDB-X + RDS的分布式数据库解决方案提供了海量数据存储和数据存储扩展能力,解决了10亿级数据在单机数据库的存储瓶颈。
- 小打卡上有几百万活跃用户,业务发展较快,高并发读是小打卡的数据库强需求。在单机RDS的情况下,由于单表数据量大,会出现读性能瓶颈导致APP卡顿甚至崩溃。基于PolarDB-X + RDS的分布式数据库解决方案能在表拆分成小的物理表后,提供海量数据平稳高并发读能力,保证了客户核心业务的稳定性和高性能。
- 小打卡的圈子打卡日记通过圈子做拆分,同时用户还有查看自己圈子日记的诉求,全局索引能力为小打卡客户提供了基于圈子和用户两个维度的高性能查询能力,满足了多维查询的需求。