俞秋荣 发表于 2025-6-13 16:43:59

网易游戏DB SaaS引入OceanBase:存储成本降60%,备份恢复提速3倍

作者:田维繁,网易游戏 SaaS 服务关系型数据库运维小组负责人

首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 “老纪的技术唠嗑局”,会持续更新和 #数据库、#AI、#技术架构 相关的各种技术内容。欢迎感兴趣的朋友们关注!
一、网易游戏DB SaaS平台架构

网易游戏作为中国领先的游戏开发公司之一,一直处于网络游戏自主研发领域的前端。其产品及周边业务众多,涵盖《梦幻西游》《大话西游》《蛋仔派对》,以及游戏交易宝藏地“藏宝阁”等一系列热门游戏服务及周边产品线,需要不同的数据处理产品来满足不同的业务场景。

针对这些丰富多样的游戏及周边业务场景,DB SaaS提供了一站式的数据库私有云服务平台,旨在满足所有数据库需求。

如图1所示,DB SaaS的服务主要被分为三层。

图1 网易游戏DB SaaS服务架构

第一层是硬件服务层。主要提供自建IDC机房虚拟化、公有云(包括AWS、阿里云、GCP、微软云)及自建私有云服务,全面覆盖底层基础设施需求。

第二层是数据库层。在硬件服务层之上,我们构建了强大的数据库服务层。这一层提供了多种类型的数据库服务,包括文档型、内存型、关系型、KV型、向量型以及图数据库,全面满足不同的数据存储与处理需求。
第三层是数据库服务能力层。服务能力层简单说分为三个方面:
一是数据库生命周期管理,主要提供资源管理、数据库架构、数据库实例的完整生命周期服务。其中资源管理涵盖从资源创建、扩容缩容及销毁,再到资源回收的灵活管控。
二是数据管理服务(DMS)。提供安全多样化且便捷的数据查询、分析、变更服务,包含版本管理、参数管理等多项访问控制功能,以及一系列数据处理功能。
三是数据迁移服务(DTS)。包括为用户提供数据查询、数据回滚、表索引管理、提供业务合服、拆分迁移等多样化数据流转服务。该服务应用场景广泛,不仅适用于易购平台的数据库迁移,还涵盖版本升级、数据合并、跨云迁移及外部系统迁移等多种需求。

针对数据库服务能力层,我们打造了一套全面的备份管理系统,主要适用于游戏场景。游戏行业的频繁更迭要求我们提供高效、灵活的备份方案,因此,网易游戏系统集成了常规备份、快速备份、增量备份、库表备份以及备份巡检等一系列强大的备份功能,确保数据的安全。

二、游戏业务场景特点及数据库选型需求

(一)游戏业务特点及MySQL应用痛点

基于底层的DB SaaS服务,以一个游戏周边的服务为例,业务初期我们采用单实例主备从的架构模式。随着接入的游戏数量不断增加,这种架构已无法满足日益增长的请求需求。因此,我们决定对数据库进行拆分,比如将一个实例拆分成多个实例,以应对这一挑战,如图 2 所示。


图2 某游戏周边服务平台的数据库架构演进

拆分后,由于业务场景的特殊性,我们需要进行大规模的合并查询,这对性能和稳定性要求极高。因此,我们引入了一个汇总实例来应对这一需求。起初,这个汇总实例是由MySQL承担的,但随着业务规模的不断扩大,遇到了6个主要问题。
1.高并发响应问题。
首先,上游突发的大量流量对业务构成了严峻挑战,高峰期主库请求量达到接近十万 QPS,单个从库读的请求也在几万左右,所有从库的总 QPS 在高峰期接近百万,整体并发量高,需要频繁紧急拆库, 难以应对。
其次,汇总实例需要处理高并发的查询请求, 对任何微小的性能抖动都极为敏感,而我们的业务对延迟极为敏感,不能容忍波动。我们之前使用的单机MySQL已经无法承载高并发需求。
2.数据同步延迟问题。
有一些业务, 从库读请求延迟要求非常高, 要求延迟非常低, 当请求量非常高时,尤其是一些游戏进行活动时, 这种延迟尤为明显,数据库存储操作可能会频繁遭遇延迟。一旦从库出现慢查询或其他情况影响到从库延迟,会对业务造成极大影响。
此外,在汇总实例时,由于需要从多个源头复制并同步上游的各个分库数据,与此同时叠加汇总实例的查询压力,进而导致数据同步的延迟。
3.单库存储空间压力问题。
单节点的存储空间已经超过十几 TB 以上,对于处理高并发 TP 业务的 MySQL 来说,这样的压力是非常巨大的。
4.业务隔离问题。
随着网易游戏不断接入新游戏,业务场景变得复杂。例如,某款游戏举办活动时可能会带来突发流量,进而影响其他游戏的正常运行。因此,业务方希望实现一种既简单又有效的业务隔离手段,以确保各游戏业务之间的独立性。
5.DDL变更的痛。
这个问题也是开发和DBA面临的挑战,对游戏领域而言,这个问题尤为突出。原因在于,游戏领域进程进行游戏合服和拆服,因此需要进行大量且频繁的DDL变更。此外,游戏业务迭代非常迅速, 尤其是游戏初期, 需要快速迭代, 快速迭代促使了频繁的DDL 变更。
6.运维工作困难。
在突发流量的情况下,即使使用顶级配置的 MySQL 只能通过增加实例的方式来缓解压力。另外,如果单个只读从库出现故障,就需要进行实例重建的操作。由于 MySQL 实例的数据量很大,扩容从库、备份恢复都需要耗费大量时间,这对业务来说是难以接受的。
(二)网易游戏为何选择OceanBase?

针对上述痛点,我们通过与业务方深入沟通,明确了对数据库的具体期望,并归纳了几项数据库必备的关键特性,以精准定位数据库类型。在此期间,我们关注到OceanBase社区版,非常符合我们的要求。


第一点,具备高并发下的稳定性。高并发下的稳定性至关重要。OceanBase 集群三副本的分布式架构支持自动故障切换,能够保证少数节点故障情况下数据不丢失,服务不停顿,满足 RPO=0,RTO
页: [1]
查看完整版本: 网易游戏DB SaaS引入OceanBase:存储成本降60%,备份恢复提速3倍