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

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

Bytebase 2025-03-04
41

中国的金山世游, 韩国的 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论