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 用快慢请求分离和记录级锁,避免复杂查询堵住简单点查;进程内做冷热交换,减少跨进程搬数据。王者技术负责人的公开评价是:在当时容量和并发下,读写延迟最稳。