前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么数据库能抗住《王者荣耀》的1亿DAU?

什么数据库能抗住《王者荣耀》的1亿DAU?

作者头像
腾讯云数据库 TencentDB
发布2020-11-09 10:10:19
3.5K1
发布2020-11-09 10:10:19
举报
文章被收录于专栏:腾讯云数据库(TencentDB)

11月1日晚,刚过完五周年生日的《王者荣耀》官方宣布2020年日活跃用户数1亿,成为国内乃至全球首个日均DAU过亿的手游。与此同时,腾讯云TcaplusDB作为《王者荣耀》的数据库服务产品,成为全球首款支持过亿DAU游戏的数据库。

任何一款游戏的成功都不是偶然的,《王者荣耀》在保证游戏的挑战性、趣味性和多样性上做了很多功夫,仅系统就有几十个,包括战斗系统、玩家系统、铭文等。目前,《王者荣耀》的后台数据量已高达数百TB,1个区有100多个表且还在不断增加。这就致使了《王者荣耀》对数据库性能、稳定性、扩缩容、成本、游戏特有场景等方面有着更高要求。

对于《王者荣耀》而言,数据库是灵魂,承载着所有系统的信息落地,而专为游戏而生的腾讯云自研分布式NoSQL数据库TcaplusDB,5年来一直为《王者荣耀》的核心数据提供数据库服务。可以说,每一次的玩家登陆、每一局的对战、每一轮的录像回放都是对TcaplusDB的考验,每一次的团战都需要在海量的数据中进行增删改查。

“我们对比过很多数据库,在目前王者的数据容量和并发条件下,TcaplusDB的读写时延是最稳定的!”《王者荣耀》相关技术负责人评价道。在他看来,TcaplusDB高并发、低时延、低成本的性能优势为《王者荣耀》的数据运行和游戏业务场景提供了强劲支撑。

具体来说,TcaplusDB拥有接近无限的水平扩展能力。基于shard分片的分布式技术,其单表容量可以支持2.56 PB,吞吐能力随硬件扩充呈线性增长。同时,通过快慢请求分离与记录级锁,它可以解决复杂请求和简单请求的隔离,减少锁定范围提升读写效率。此外,基于创新算法,TcaplusDB可以在一个进程中实现冷热数据的交换,解决跨进程数据交换的一致性、可用性与管理复杂等问题。

从游戏业务场景的角度出发,TcaplusDB支持表级和记录级的数据生命周期管理,能够有效实现活动数据的过期清理。此外,基于冷备数据和二进制日志数据,TcaplusDB还可以针对全服级、表级、记录级或按照指定条件进行回档,且时间精确到毫秒。

另一方面,面对海量增长的用户数,系统稳定和扩容一直是《王者荣耀》的关注焦点。

不管是每年的“开黑节”、春节期间的DAU上涨还是5周年庆的计划性扩容,TcaplusDB都能在应对频繁扩容需求的同时确保着5个9的高可用性。

2020年春节,TcaplusDB陆续对各个大区7个表进行了15次扩容,扩容集群服务只增加了20组。最后一次扩容,在1小时内完成了突增100万-200万 PCU扩容,且在扩容过程中玩家无感知。

这是个几乎不可能完成的任务,但TcaplusDB交上了满分答卷。它是怎么做到的?

首先是理解应用的自动负载均衡和过载保护。以过载保护为例,TcaplusDB能站在“游戏服务器”的视角感知业务过载,通过处理时延、队列长度、成功率等指标综合评估数据库的负载能力,对高负载应用进行保护,防止雪崩发生。

同时,TcaplusDB针对计划内扩容和计划外扩容,提出了不同的解决方案,根据实际情况随机应变,灵活处理,并通过对可用区故障的自动切换与修复,在技术上支持跨可用区和单设备的故障自动切换和修复,既保障了扩容的速度和效率,又做到对玩家的完全无感。

值得一提的是,这不是首次面对这样的挑战。早在2017年春节期间,TcaplusDB就经历了连续七天的深夜扩容,在系统能力不足的情况下,通过开启读分流规避方案,成功度过高峰期。S赛季期间,由于玩家想看的赛季场数超过最初设计的10场,TcaplusDB是进行了大规模改表结构,紧急支持表结构修改对用户无感方案。

历经腾讯内部8年的游戏经验积累,TcaplusDB数据库已广泛应用于《王者荣耀》、《刺激战场》、《穿越火线》、《火影忍者》等数百款流行游戏,并通过腾讯云向全球游戏业务提供服务。

未来,随着以《王者荣耀》为代表的手游市场迈入新台阶,腾讯云数据库也将持续投入资源以丰富游戏行业的技术产品生态,不断提升综合服务能力,助力手游市场高质量快速增长。

手机运维小程序限时免费体验!

手机运维小程序——腾讯云数据库上线啦,从此在手机里可以实现实例信息查看,健康报告接收,慢SQL分析和异常查看等功能,以后回家终于可以不背电脑了!

上云就上腾讯云,双十一全网年度最低价来袭:MySQL高可用版1C2G低至99元/年!更有价值11000元代金券大礼包等你来领取,玩法简单直接,错过又要等一年!

↓↓点击直达双11会场~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云数据库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
游戏数据库 TcaplusDB
游戏数据库 TcaplusDB 简介 游戏数据库(TencentDB for TcaplusDB,TcaplusDB)是专为游戏设计的分布式 NoSQL 数据存储服务。结合内存和 SSD 高速磁盘,针对游戏业务的开发、运营需求,TcaplusDB 支持全区全服、分区分服的业务模式,为游戏业务爆发增长和长尾运维提供不停服扩缩容、自动合服等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档