暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从魔力宝贝到穿越火线,网游厂商管理数据库的最佳实践

Bytebase 2025-03-04
198

中国的金山世游, 韩国的 Smilegate (国内玩家称之为笑门,旗下拥有穿越火线,第七史诗等知名游戏),日本的 Dwango (国内叫多玩国,魔力宝贝原开发商,旗下公司同时也是巫师 3,博德之门 3,赛博朋克 2077 等大作的游戏发行商), 我们来看看为何这些国内外头部网游厂商不约而同选择了 Bytebase 作为他们的数据库 DevOps 平台。


网游厂商独有的数据库管理挑战

  1. 团队精简。网游的研发资源都投入在开发游戏上,在基础设施上都保持精简的团队,许多公司甚至没有独立的 DBA 团队,而由 DevOps 或者平台工程团队来维护数据库。

  2. 资源弹性。能够配合时间,运营活动进行扩缩容。所以网游公司多采用云作为基础设施。

  3. 大批量数据库。不同服的数据库是独立的。不同服的版本也会存在差异。

最佳实践

Terraform 实现资源与配置代码化应对业务快速变化

一款人气游戏上线时,可能需要快速进行资源扩容,而过了高峰期又需要释放资源。多数游戏公司会采用云作为基础设施,同时会采用 Terraform 等 IaC 方案管理云资源。

  • 纳管自动化:客户已经通过 Terraform 实现了数据库实例的供应。而通过 Bytebase 的 Terraform Provider,则进一步完成了当中纳管(分配给应用团队)的工作。实现了供应,纳管,释放的全生命周期自动化。

  • 策略一致性:当开设一个新的运营区,数据合规等原因可能要求管控工具也独立部署。一套 Terraform 模板即可轻松复刻出新的 Bytebase 环境,同时能保证所有基础安全策略的一致性。一名客户通过该方案管理着数十个独立数据中心的数十套 Bytebase 供不同团队使用,若通过 UI 点击管理不但效率极低,还可能导致安全策略的混乱。

批量、灰度大量数据库的变更

一个游戏往往存在多个区服,因此有大量同构租户库。每一次变更可能需要基于不同策略发布到全部或部分库中,Bytebase 的多个特性支持该需求:

  • 数据库分组:通过灵活的分组策略,可以预先将数据库分为多个组,每一次发布选择对应分组即可,告别繁琐的手动操作与难以维护的祖传老脚本。

  • 分批次发布流水线:可以在一个发布单中将一组数据库分成多个发布批次,例如一次全服停机更新可以按运营区分批更新后逐步上线,也可以在一次热更新中先修改少量库,验证无误后再推广到全区服。

数据库脚本版本化管控

游戏运营面临的另一个问题是不同国家和地区上线时间不同,因此需要同时运营多个版本的应用,对应的数据库脚本同样需要维护多个版本。Bytebase 提供了相应能力降低管理复杂度:

  • 数据库脚本发布包:通过将一批脚本构建为发布包,指定目标库后可自动判断并跳过已经发布的脚本,未发布脚本自动按固定顺序执行,不再需要人工对一批脚本进行挑选和编排,大大降低了管理复杂度。

Bytebase 拥有完备的 SQL 审核、流程审批,权限管控等功能,再叠加上 Terraform 和批量发布的能力,完美匹配了国内外网游厂商管理多区域,多版本数据库的需求。


OpenAI 大战 DeepSeek: 设计美国社保系统的数据库结构

Bytebase签约Dwango,助力B站弹幕文化鼻祖优化数据库变更及查询操作

Bytebase 3.4.1 - Bytebase Terraform 可管理更多资源

开发者前沿 #5 - DeepSeek 五天开源五个 AI repo

文章转载自Bytebase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论