网易游戏探索TiDB:挑战与实践

版权申诉
0 下载量 26 浏览量 更新于2024-08-11 收藏 26.44MB PPTX 举报
“网易游戏项目在TiDB的尝试” 在网易游戏的项目中,他们尝试了使用TiDB,一个分布式NewSQL数据库,以解决其在游戏服务中的数据库挑战。TiDB,全称为“分布式在线事务处理/在线分析处理”(HTAP)数据库,旨在同时支持大规模的OLTP(在线事务处理)和OLAP(在线分析处理)工作负载。这个PPT详细介绍了网易游戏在TiDB上的实践历程、遇到的问题以及解决方案。 1. **数据库现状与TiDB的发展历程**: - 网易游戏的DBSAAS(数据库即服务)服务面临数据库架构的挑战,如数据孤岛、扩容需求频繁等。 - TiDB经历了从3.0到5.0版本的迭代,逐渐提升了其稳定性和HTAP能力。 2. **选择TiDB的原因**: - TiDB提供了水平扩展的能力,能有效应对数据量快速增长和业务高峰期的高并发请求。 - 通过接入TiDB,网易游戏能够将部分读取业务和定制化的存储分析业务转移到TiDB,减轻MySQL集群的压力。 - TiDB支持分布式事务,保证了数据的一致性。 - 大批量的TiDB集群运维经验和官方技术支持,增强了对游戏项目的保障。 3. **尝试过程中的问题及解决**: - 遇到了数据孤岛问题,导致数据实时性不足,通过引入TiKV labels和placement rules在SQL中定制资源隔离来部分解决。 - 数据库耦合风险仍然存在,尽管TiKV labels和placement rules提供了一定程度的隔离,但在复杂业务场景下,设计和维护较为困难。 - TiDB和PD(Placement Driver)的耦合限制了完全的资源隔离。 4. **TiDB的使用场景**: - 游戏S3云存储系统:用于存储游戏数据。 - 内部管理平台和质量治理平台:提供基础架构服务和OLTP场景的支持。 - 分析型业务场景:使用Tispark或直接查询TiDB进行OLAP报表统计和计算。 - 数据归档存储:利用TiDB的横向扩展性进行大规模数据存储。 5. **架构演进**: - 通过引入TiDB,网易游戏逐步降低了MySQL集群的耦合,但依然存在数据孤岛和实例间的耦合问题。 - 使用TiKV labels和placement rules进行资源隔离是演进过程中的一个重要步骤,但这并非万能解决方案,仍有优化空间。 6. **稳定性与技术支持**: - TiDB 5.0版本的稳定性显著提升,对线上业务的稳定运行提供了保障。 - 当出现问题时,网易游戏能够依靠官方强大的技术支持迅速响应和解决。 网易游戏在尝试使用TiDB的过程中,逐步优化了数据库架构,解决了部分痛点,但仍然面临一些挑战,如资源隔离的完善和复杂业务场景下的设计问题。随着TiDB的持续发展,这些挑战有望得到更好的解决。