learntoall

TcaplusDB

Tcaplus 是腾讯为游戏做的分布式 NoSQL。游戏学堂把它追溯到 2010 年前后页游时期。2020 年《王者荣耀》宣布日均 DAU 过亿时,腾讯云发文称 TcaplusDB 是其核心数据库,并用于 QQ 飞车、火影忍者等数百款游戏。

三层

腾讯云产品文档把 TcaplusDB 画成:

  • 管理层:元数据、调度、扩缩容。
  • 接入层(tcaproxy):处理请求,转发存储节点。
  • 存储层(tcapsvr):落盘、应答。

逻辑结构是集群 → 表组 → 表。数据按 splittable key 做 hash(key) % 10000 进分片,单表最多 10000 shard,单 shard 容量上限公开为 256GB 量级,建议运营容量更小。

能力公开口径
单表容量可到 2.56PB,吞吐随硬件线性扩
点查哈希索引;复杂顺序查询走分布式索引
延迟产品描述:单机可到 10 万 QPS、延迟低于 5ms(宣传口径)
游戏特性回档、合服、读写分离、过载保护、不停机扩缩
高可用主备;宣传可靠性 99.999%

为什么不是普通 MySQL

产品负责人张铭的公开访谈:游戏要的是海量点查、活动秒杀、合服和回档。Tcaplus 用快慢请求分离和记录级锁,避免复杂查询堵住简单点查;进程内做冷热交换,减少跨进程搬数据。王者技术负责人的公开评价是:在当时容量和并发下,读写延迟最稳。