业务挑战
随着业务增长,单机 MySQL 已经成为 IT 基础架构的瓶颈。单个 MySQL 实例容量有限,行数过大影响读写性能,无法进行灵活扩展。此外,分表 Join-SQL 复杂度高,同时缺乏大数据的分析能力。网易互娱希望新方案可以兼容 MySQL 协议、支持事务与二级索引,提供灵活的在线扩展能力。
数据库选型
- MySQL 分库分表与 InnoDB Cluster 方案扩展性有限,性能受损,同时要修改业务端的代码,复杂度较高;
- MongoDB 不能实时从 Binlog 同步数据,不适合使用 SQL 语义;
- Hive 不便于做增量更新;
- Phoenix on HBase 的索引变更与维护比较困难,聚合查询的效率不高;
- CRDB 兼容 PostgreSQL 协议,线上数据迁移需做协议的转化,成本较高。
经过以上一些列方案的评估和验证之后,网易互娱决定在核心业务场景引入 TiDB。
解决方案
网易互娱采用 TiDB 作为线上 MySQL 镜像数据湖,负责线上数据的收集和集中管理,同时为报表、监控、运营、用户画像与大数据计算等业务场景提供数据平台服务。目前,在网易互娱提供服务的 TiDB 集群平均每天的 QPS 都在万级以上。
网易互娱的数据源主要有线上登陆和支付相关的数据,还有一部分线下日志相关的数据。日志流数据是在线上 App 采集数据,流转到 Kafka,挑选出有价值的信息,通过 Flink 写入 TiDB,供给分析使用。采用 Spark 连接 HIVE 和 EROSPIKE ,通过 TiSpark 直接访问 TiDB,实现跨多个数据源的计算和分析。跨源异构计算架构打破了不同数据库之间的壁垒,实现数据价值的最大化,为用户画像、精准营销等业务场景提供数据平台的支撑。
用户收益
延展视频:TiDB 的选择和实践-网易互娱
客户简介
行业:游戏
网易互娱是全球领先的游戏开发与发行公司,目前在线运营的游戏数量占网易游戏总品类数量的 80% 以上,精品游戏长期占据 AppStore、TapTap 榜前列。