首批通过分布式安全可靠测评,为关键业务系统打造
从容应对游戏应用的海量数据高并发场景
- 80%整体存储成本下降
- 3倍备份恢复效率提升
- 时延稳定承担峰值15%流量
一、业务背景
尽管网易游戏已拥有比较全面的数据库产品矩阵,但每种数据库产品在特定业务场景下都有其明显的优势和局限性,鉴于网易内部涵盖的业务场景多样且复杂,希望根据具体的业务场景需求灵活选择适合的数据库产品。
网易游戏某游戏业务平台当前使用 MySQL 的数据库架构,随着系统承接的业务数据量及请求数的不断增加,该架构逐渐演化为 MySQL 经典的一主多从架构,通过主备库接了十余个从库来负责业务读请求。
二、业务挑战
- 并发量高,对延迟敏感
- 在高峰期,主库请求量达到接近十万 QPS,单个从库读的请求也在几万左右,所有从库的总 QPS 在高峰期接近百万,整体并发量高,我们的业务对延迟极为敏感,不能容忍波动。
- 单库存储空间压力大
- 单节点的存储空间已经超过十几 TB 以上,对于处理高并发 TP 业务的 MySQL 来说,这样的压力是非常巨大的。
- 从库数据实时性要求
- 从库数据实时性要求很高,一旦从库出现慢查询或其他情况影响到从库延迟,会对业务造成极大影响。
- 运维困难
- 运维工作也面临很大的挑战,在突发流量的情况下,即使使用顶级配置的 MySQL 只能通过增加实例的方式来缓解压力。另外,如果单个只读从库出现故障,就需要进行实例重建的操作。由于 MySQL 实例的数据量很大,扩容从库、备份恢复都需要耗费大量时间,这对业务来说是难以接受的。
三、解决方案
- OLTP、OLAP 高性能
- OLTP 性能方面,在小规模数据量(10 张表,每张表 2000 万)时,OceanBase 4.0 版本的性能表现几乎与 MySQL 持平,OceanBase 4.1 版本的性能表现优于单机 MySQL;在数据量较大时(1 亿以上)OceanBase 扩容节点后的性能优势远超单机 MySQL;
- OLAP 性能方面,在多个大表关联或聚合分析的情况下(1 亿以上), OceanBase 4.x 版本整体表现相对平稳,并没有出现较大波动,查询耗时也远低于 MySQL
- OLTP 性能方面,在小规模数据量(10 张表,每张表 2000 万)时,OceanBase 4.0 版本的性能表现几乎与 MySQL 持平,OceanBase 4.1 版本的性能表现优于单机 MySQL;在数据量较大时(1 亿以上)OceanBase 扩容节点后的性能优势远超单机 MySQL;
- 高级压缩技术
- 关于存储数据压缩能力,从上游 MySQL 导出 5TB 数据到 OceanBase,三个副本总存储才 2.1TB,单个副本 700GB。以单份数据计算,数据压缩率接近 86%
- OMS 同步方案
- OMS 的逻辑复制方式读取 MySQL Binlog 操作,回放到 OceanBase 集群中,不会出现 MySQL 常见的主从延迟问题。如果出现数据同步延迟、慢查询,OceanBase 都有对应的监控报告。
- 运维简便
- 出现突发流量时,可以通过动态调整租户、集群资源的方式临时应急。出现突发流量或业务上线 SQL 出现慢 SQL 时,可以使用白屏化的 SQL 限流功能。如果需要水平扩容,整个扩容操作对应用无感。同时,在故障场景下,集群的 Paxos 高可用模式基本保障对应用无感。
四、客户收益
- 业务查询稳定
- OceanBase 运行稳定,在承担了原只读从库 MySQL QPS 的 15% 流量后,时延稳定,抖动小。
- 灵活扩展降低高并发压力
- OceanBase 的扩展能力可以高效支持业务未来高并发请求,原来 MySQL 只读从库的 QPS 请求,迁移到OceanBase 后压力骤降,风险得到有效控制。
- 数据实时性高
- OMS 的逻辑复制方式读取 MySQL Binlog 操作,回放到 OceanBase 集群中,不会出现 MySQL 常见的主从延迟问题。如果出现数据同步延迟、慢查询,OceanBase 都有对应的监控报告。
- 存储成本大幅下降
- 与 MySQL 单副本对比,OceanBase 整体存储成本下降超过 80%,将上游 MySQL 数据量进行大量归档后,存储成本压缩了 30% 以上,存储压力大幅减少。通过 OMS 迁移 MySQL 数据到 OceanBase 集群,并定期清理 MySQL 的业务数据,大幅降低 MySQL 因数据量过大带来的各种风险。
- 运维提效
- 备份和恢复效率大幅提升,因整体压缩超过 30%,后台替换故障节点时,需要恢复的数据量相对 MySQL 更少,备份恢复时间也更短,效率提升了 3 倍以上。