基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
梁盼-快手数据库研发工程师
梁盼快手数据库研发工程师
胡玉龙快手技术专家
胡玉龙快手技术专家
筱虫快手运维负责人
2023-01-07
快手APP是中国流行的短视频和直播应用之一,内容涵盖生活的方方面面,希望以技术赋能,用科技提升每个人独特的幸福感。在快手上,用户可以用照片和短视频记录自己的生活点滴,也可以通过直播与粉丝实时互动。自2011年成立至2021年上市以来,日活用户已达数亿,这一方面促使直播、电商等业务飞速增长,另一方面,使底层系统面临前所未有的压力。
目前,快手的短视频App有8个OceanBase集群,机器规模已经超过200台物理机,数据量超800T,最大集群数据量超400T。最初使用OceanBase3.1版本、后期升级到了4.2版本,所有的集群都在提供线上服务,其中有核心系统交易核对系统和支付网关业务系统,也有替换MySQL主库来承担高并发写入的业务。在迁移到4.1版本后,集群本身对于业务的收益和稳定性都有显著提升。
交易核对场景
作为短视频平台,快手有对应的电商业务满足大家在刷视频时的购物需求。一般情况下电商的日均流量QPS表现平稳,大概8-9w。进行大型直播时,用户流量剧烈增长,一般情况下QPS能快速增长至平时的十倍甚至百倍,达到百万级别,即使数据量压缩也会达到百余TB。
OceanBase分布式架构天然具备水平扩展能力,因此在数据量不断增长时只需要水平扩展集群的存储和计算能力,解决大表查询和存储问题;同时本身拥有原生分布式能力,对分布式事务处理更擅长。使用OceanBase后,上游业务直接写入MySQL集群中,同时每一条数据写入上游MySQL分片时会通过Binglog实时写入OceanBase中。数据核对查询时,在查询上游MySQL集群时会同时触发向下OceanBase进行相同的查询,并对上下游的查询结果进行比对,从而保证整个账务系统中订单状态的正确性。
支付业务场景
支付业务是电商的实时业务,一方面是面向商家、客服查直播收益,另一方面是支付网关相关的聚合查询。在引入OceanBase之后,OceanBase在线扩展性轻松解决了大数据量的存储问题,同时HTAP能力在保证数据写入的同时提供实时的查询分析能。在该业务场景中,OceanBase对复杂SQL分析能力不弱于Elasticsearch。此外,在线加索引能力使得业务可以随时进行DDL变更。在使用OceanBase替换MySQL+Elasticsearch方案后,不仅省掉了Elasticsearch服务及硬件,MySQL硬件成本也大幅降低,相比之前方案整体节省50%的机器资源,性能也满足业务的查询要求。