PB 级数据的云端迁移战事

2021-09-18 12:10:50 浏览数 (1)

如果单纯从字面上,普通人可能无法理解要 PB 级的数据迁移到一朵云上,难度有多大。

“这个迁移和简单的复制完全不一样,即便是拷贝,把1PB 的数据复制过来,也需要很长时间。”腾讯云大数据产品架构师李少波说。

少波说的这个正是一个月前他和另外3位同事,一起经历的一场云端迁移战事。

把时针拨到一个月之前,搜狐畅游技术有限公司(简称搜狐畅游)计划在8月初正式上线小浣熊百将传的新游戏,这款有着经典水浒卡授权的国风放置卡牌手游,预计在上线后将迅速风靡全球,这给搜狐畅游当时的大数据集群带来了严峻的挑战。

搜狐畅游是一家中国国内领先的在线游戏开发商和运营商,其开发和运营多种类型的在线流行游戏,如中国最受欢迎的客户端游戏《天龙八部》, 至今已14年,注册用户近3亿。公司同时运营国内领先的游戏资讯门户网站 17173.com 网站。搜狐畅游先进的技术平台包括先进的2.5D 及3D 图形引擎、统一的游戏开发平台、有效的反作弊 和反黑客技术、自主研发的跨网络技术和先进的数据保护技术等。

多年来,搜狐畅游沉淀了大量高价值的数据,并一直致力于数据价值挖掘和应用。

在此之前,搜狐畅游主要通过搭建 IDC 机房自建大数据集群,为公司业务提供大数据存储、计算和分析的基础支撑能力。

但随着游戏业务迁移上云和数据规模、维度的快速增长,数据分析任务日渐繁重和多态化,对数据处理的时效性和稳定性要求越来越高,搜狐畅游亟需通过更灵活稳定的大数据基础能力建设,提升大数据的分析、管理和运维,为游戏稳定流畅运行“保驾护航”。

如何确保数据爆增情况下的稳定运营,成为搜狐畅游技术团队最迫切需要解决的问题。他们找到了腾讯云游戏行业商务王萌萌和游戏架构师田炜,希望借着新手游小浣熊百将传上线之机,把全部的数据一起迁移到弹性MapReduce(EMR)、Elasticsearch Service(ES)、流计算 Oceanus 之上

田炜很快找到了腾讯云大数据的产品架构师桂宇进行支持。虽然搜狐畅游在此之前已经使用过腾讯云大数据的部分产品,对产品的性能这块虽然比较认可,但是,在接到这样一个需求时,腾讯云大数据团队也倍感压力山大。

毕竟,这种级别的数据量,放到历史上,也可以排到前几位。

两手准备

这么大的数据量,不是说迁移就迁移。

这个迁移到底有没有坑,谁也不敢拍着胸脯保证。迁移前后的的网络,安全设置等支撑环境不一致,如何适配,迁移过来之后,稳定性如何保障,就像从一个老房子搬到新房子,住的是否舒适,不舒服了我能不能有备选的方案等。

为了稳妥起见,搜狐畅游大数据团队联合腾讯云大数据产品团队紧密配合,充分准备。

搜狐畅游 BI 大数据中心技术负责人介绍说:“首先,搜狐畅游与腾讯云大数据技术团队一起紧密配合,详细梳理当前数据、任务、流程,按特征进行归类,针对不同情况(如历史数据、实时数据)进行针对性设计迁移方案,确保全覆盖场景;其次,对各类数据和任务,抽样进行尝试迁移验证,包括元数据、数据、作业等相关联的完整测试校验,确保无误;最后,结合业务应用特征,配置策略,利用低峰期将历史数据平缓迁移,再配置双写策略,平滑迁移实时数据和任务,直至两边数据对齐。全程采用规划化流程,按照预设步骤实现自动处理,并实时反馈进展状态。”

“在这过程中,搜狐畅游大数据团队除了介绍业务特点,业务技术架构等情况,结合多年积累 Impala 在游戏场景数据分析的经验,提出优化假设。并配合腾讯云大数据团队共同提升 Impala 处理能力,力争打造游戏行业第一的处理能力,正是双方像一个团队一样,相互分享好的经验,充分深入的讨论,和细致的安排,让这次迁移更有信心”。

迁移完成后,为避免小概率事件,依然采取双跑策略并行。

“不是马上就业务切割,万一切割了以后,出现没有预料到的问题怎么办,双跑的目的主要是做一个前期验证。”

个别极端问题还是出现了。

“在做 Impala 内核验证的时候,跑基本测试会遇到一些 OOM 的情况,这种现象很不稳定的。”如果不解决,迁移过来也会出现比较大的问题。

而且,当时因为两边的源码层面环境不一样,之前的查询系统使用的 Impala是个多语言开发的系统,涉及 C 和 JAVA,和腾讯云这边环境还不一致。

怎么办,Impala 官方发布的 patch 不能解决,需要立即增加一些 patch 让双方适配。

新手游上线的日期一天天临近,时间是最奢侈的存在。

为了解决这个问题,双方技术专家快速响应,即使在周末,大家也都毫不犹豫地冲上来一起解决问题,献计献策。

因为前期积累的信任,大家的思维都在一条线上,即便有问题,都能快速顺利解决。

“正式切割当天,虽然我们对自己的产品性能比较有信心,但坦白说,当时还有一些紧张的。”少波说。

因为你不能保证过程有没有一些突发的情况,所以除了每天的巡检保证集群的运行稳定性之外,在正式的切割当天,我们晚上也重保在线支持,所有人员全部在线,保证有问题第一时间响应。

当然,最终没有发生任何问题,PB 级的数据在7月中旬正式迁移到腾讯云。

在此次合作中,搜狐畅游大数据基础团队和腾讯云大数据团队一起,投入少量人力,如期完成了数据的稳定迁移和新集群上线运行,全程对业务零影响。

这一事件,在国内游戏的数据迁移史上,不出意外,应该是史无前例的。

结果在意料之外

在顺利完成迁移后,搜狐畅游上层业务使用部门表示:“借助腾讯云大数据EMR、ES、流计算 Oceanus 的产品能力,能够明显感受到大数据基础平台分析速度加快,大幅提升了搜狐畅游业务分析工作的效率。”

除了业务使用部门的认可,搜狐畅游大数据团队自身也切实感受到了作业任务速度与运维效率的提升:

每日的 BI 离线统计分析从整体的2小时减少到20分钟以内,任务执行效率提升6倍。

借助腾讯云大数据产品提供的多种技术能力和运维工具,使管理和维护集群的人力投入也减少60%。

通过腾讯云流计算 Oceanus 服务,搜狐畅游大数据团队在高峰时期增加玩家数据的计算任务资源,作业扩容到500核只需要不到两分钟;平峰时段减少空闲资源,降低计算资源的浪费。实时业务的稳定性也得到了较大提升,对于作业的异常情况,都可以秒级恢复正常运行,且告警通知会在3s内直达用户。

“现在,我们可以根据业务变化需求,快速实现资源扩缩容、组件服务维护、安全加固等能力,进一步提高了团队的游戏运维效率,释放更多时间精力投入到数据价值的探索和挖掘。”

数据顺利迁移完成,业务正式切割上线运行至今,在搜狐畅游大数据团队和腾讯云大数据团队的综合努力保障下,完美地经住了小浣熊 OB 洪峰的严峻考验。对此,作为本次迁移的总指导、搜狐畅游大数据负责人非常满意地说:“从我们的监控数据上看,每天有超过50w 次的查询,其中99.995%均在秒级内返回结果,另外不足0.005%的任务也在20秒内执行返回结果。并且这部分慢任务被我们的实时监控及时发现抓取出来,经过排查,是因为 DML 语句编写不当,造成全量数据被扫描和计算所致,经过优化,这部分也得到很好地效率提升。同时,我们结合慢 SQL 的特征规律,构建和持续优化 SQL 健康度检查模型,在 SQL 执行前即可预判并及时提示改进。”

经过双方团队的紧密配合和常态化交流经验,不仅使双方的合作更加顺畅,也使腾讯云的大数据产品更加符合客户所需和不同场景的应用。

也正如之前预料,小浣熊百将传正式上线后,各类数据量都飙升超过历史最高点,而搜狐畅游在腾讯云 EMR 大数据集群支持下实现良好的资源弹性,保障了各项游戏任务能够稳定、高效、安全地运行。

目前,借助于云端大数据基础设施,快速实现基于数据驱动的业务创新和运营创新已成为新一代互联网企业的业界共识和主流趋势。

除了游戏行业,腾讯云弹性MapReduce(EMR)、Elasticsearch Service(ES)、流计算 Oceanus、云数据仓库 ClickHouse、云数据仓库 PostgreSQL、数据开发平台 WeData、数据湖计算 DLC 等系列产品已经在金融、电商、出行、在线教育等各领域广泛使用。 

腾讯云大数据

长按二维码 关注我们

0 人点赞