国产游戏蓄力,火山引擎ByteHouse助力游戏厂商造爆款

news/2024/11/17 13:43:42/文章来源:https://www.cnblogs.com/bytedata/p/18405986
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号回复【1】进入官方交流群
 
近几年,国产游戏在国内市场规模有起伏,但整体呈增长态势。2023年,我国自主研发游戏国内市场实际销售收入达到 2563.75 亿元,同比增长 15.29%。
 
一方面,国产自主研发游戏在整体市场上还处于发展的爬坡时期,在底层开发能力、创新性等方面仍要克难攻坚;另一方面,近期以“黑神话:悟空”为代表的游戏,也让全球玩家在世界顶尖游戏梯队中看到了中国游戏的身影。
 
国产自主研发游戏要实现“突围”,在游戏设计及迭代中,离不开对用户群体更精准分析;在游戏推广和营销中,离不开对投放渠道分析与优化。而游戏场景中的广告效果分析、行为分析、广告推荐、游戏推荐等正是ByteHouse所擅长的。
 
随着游戏用户体量越来越大,数据格式愈加多样化,对游戏公司的数据分析引擎提出更高要求。作为火山引擎推出的一款云原生数据仓库,ByteHouse具备强大的高并发处理能力,系统扩展性强,在实时数据分析处理方面具备显著优势,并已经广泛在游戏行业中应用。

其中,中国头部游戏公司莉莉丝游戏基于ByteHouse将性能提升3倍以上,更有其他两家头部公司通过ByteHouse弹性策略、按需扩展既能应对高峰流量,又能进一步控制资源成本。

 

案例一:性能提升3倍以上,莉莉丝游戏实时数仓建设提速

中国头部游戏公司莉莉丝游戏就基于ByteHouse搭建了广告运营分析平台核心OLAP引擎,让莉莉丝游戏能够实时处理海量投放数据和日志数据,并进行高性能计算。

此前,莉莉丝游戏在国内基于使用ClickHouse进行广告投放和运营分析业务,但遇到跨月跨季查询超时、OOM、不支持大表关联以及从MySQL数据实时同步稳定性差等问题。在引入ByteHouse之后,其自研的查询优化器解决了ClickHouse复杂查询问题,帮助莉莉丝游戏广告业务复杂查询分析场景中性能提升3倍以上,支持查询时间跨度从1个月提升至1年以上。除此之外,ByteHouse的MaterializedMySQL功能可以实时将莉莉丝游戏的MySQL或PolarDB MySQL中的业务数据整库实时同步到ByteHouse平台,大大降低了数据同步成本和运维工作量。

从ClickHouse迁移到ByteHouse,莉莉丝游戏真正实现高效数据驱动,例如营销团队能够根据实时数据调整广告投放策略,提升买量效果;细粒度的成本和效果分析帮助研发、运营、发行等团队进行精细化经营和管理,更好地了解市场需求,加强协作效率和透明度。

 

案例二:260万/秒写入去重能力,轻松应对爆款游戏流量洪峰

另一个头部游戏厂商,则通过ByteHouse轻松应对爆款游戏的流量洪峰。

该厂商最早基于OLAP技术栈搭建自身分析引擎,但面对业务增长带来的新游增量,原有引擎已无法满足写入与查询性能需求。据该游戏厂商相关负责人介绍,“我们某款游戏数据量突然暴增,在节假日数据峰值更是大幅上涨,对数据引擎的要求需要达到每秒200万条日志数据的实时去重写入,上千亿数据的多表关联查询。”

为了解决以上问题,该游戏厂商引入ByteHouse++Flink实时数仓解决方案,为实时数据接入、实时数据查询提供支持。其中,ByteHouse自研了HaUniqueMergeTree表引擎,支持实时数据写入、更新、删除, 既保留了ClickHouse高效的查询性能、又支持主键更新的表引擎。最终,基于ByteHouse的实时数仓已能支持260万TPS实时去重写入,实现水平扩展,为业务迅猛增长提供强有力的数据保障。

 

案例三:资源用量减少30%,赋能游戏厂商降本增效

在资源成本愈加昂贵的背景下,这家游戏厂商C通过 Serverless Flink + ByteHouse 的实时数仓解决方案实现降本增效。

据介绍,该厂商C为了评估广告投放、提升精准营销效率,搭建了用于评估和量化游戏对特定用户吸引力的“游戏推荐打分引擎”以及用于评估游戏广告的效果和价值的“广告推荐打分引擎”。但在实际场景中,由于数据量不断扩大,日常查询并发达到8万QPS,节假日峰值更是高达15万QPS,原有的系统成本不可控、稳定性不足。

通过以 ByteHouse 作为实时数仓、以 Serverless Flink 作为实时计算,结合火山引擎大数据研发治理套件 DataLeap、全域数据集成DataSail,该游戏厂商构建了一体化的实时数仓平台,具备实时数据接入、实时 ETL 数据加工、实时维表关联和实时数据服务等能力。从数据效果上看,基于ByteHouse的实时数仓平台,可以支持20万+QPS高并发点查,性能提高2倍以上。在资源用量上,相比于之前架构,更是减少了30%。

“ByteHouse具备高性能特性,在高并发、点查场景中具备显著优势,并且全面兼容ClickHouse、MySQL生态,可以实现应用平滑迁移,与游戏场景中的用户行为分析、广告效果分析、广告推荐、游戏推荐等非常匹配”,ByteHouse相关负责人介绍道。

未来,ByteHouse 会持续在数据处理、分析场景中为游戏行业提供更优质服务,助推更多厂商孵化出爆款游戏。


点击跳转 火山引擎ByteHouse 了解更多

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GIS学习(个人学习笔记)(永久修改属性表字段顺序的方法2——access数据库软件修改字段顺序)

当然更推荐直接在GIS中使用合并工具来调整字段顺序或者删除将shp文件导出为数据库文件 使用TableToDBASE表转 dBASE (批量)3.再用office access导入4.将2中生成的dbf文件打开 5.对需要调整顺序的字段进行编辑或者删除

08 Windows批处理之执行编译后的程序

本文是关于一个bat文件执行或调用另一种语言编写和编译的程序。实际上,这样做的语法非常简单。本文最有趣的方面是,有时正在执行的程序在bat文件中没有定义路径。bat文件如何找到可执行文件? 本文的主要重点将放在查找此类程序的两个非常重要的机制上,即当前目录和路径变量…

工地安全带识别系统

高处工地安全带识别系统选用目前的视频监控系统系统,纪录高清图像。依据图像检测,工地现场作业人员的工地安全带识别系统将识别工作人员是不是系好安全带,如果没有则立刻报警提醒。施工工地安全带识别:安全带识别系统高处作业安全带识别。高处工地安全带识别系统选用目前的…

91卫图内存不能为written

91卫图出现报错,报错信息如下:解决方法: 把91卫图助手软件目录下面的layer.bin改成layer1.bin,然后再打开软件 打开以后,图层管理器, 右键“我的图层”,点击还原所有图层,选择最早的一个时间点还原

apisix~kafka-logger插件

作用 将http请求与响应的内容发到kafka的topic,以json的形式发送存储 配置相关log_format为自定义配置字段,添加后,默认的请求响应消息将被覆盖{"_meta": {"disable": false},"batch_max_size": 1,"brokers": [{"host": …

安装mayavi命令,使用cxfreeze打包python脚本

pip install numpy出现A new release of pip is available: 23.2.1 -> 24.2 输入: python -m pip install --upgrade pip setuptools wheelpip install PyQt5pip install vtk pip install mayavi pip install scipypip install configobj 查看当前项目的依赖包:pip freeze…

工控机的重要技术:架构与功能

随着工业自动化的快速发展,工控机作为现代工业系统的重要组成部分,其核心技术的研究和应用愈发引起了各界的广泛关注。工控机,作为一种专门用于工业控制和监测的计算机系统,其架构与功能的有效设计和实现直接关系到工业生产的效率与安全。本文将从工控机的基本架构、核心功…

Kubernetes怎么进行NFS动态存储迁移

环境查看 系统环境# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # uname -a Linux CentOS7K8SMaster01063 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux软件环境 # kubectl version Client Version…

Flutter provider和 getx 区别

前沿 Provider 和 GetX 是 Flutter 社区中常用的两种状态管理解决方案。 它们各自有不同的特点和使用场景,下面是它们的区别和示例,以便更好地理解和选择适合的状态管理方法。示例:Provider 和 GetX 的使用 1. 使用 Provider 的示例 假设我们有一个简单的计数器应用,点击按…

NVIDIA驱动,CUDA,CONDA环境安装

NVIDIA驱动安装检查驱动信息last rebootuname -rcat /var/log/apt/history.lognvidia-smill /usr/src/lsmod |grep nvidialspci |grep -i nvidiadmesg -i |grep nvidiadmesg |grep -i nvidiadmesg |grep -i nvrm dpkg --get-selections | grep linux-image查看加载内核版本zg…

一觉醒来,Qt、C#界面开发的天塌了?

再算上VC、PyQt,之前说“人生苦短,快用python”,现在要说人生苦短,快跳出泥潭!上位机、客户端界面传统开发太重,也不够美。传统开发中,还算不错的 毕竟大部分场景,界面并不是核心。大量时间精力投入在交互、美观、还有各种界面类“面向对象的封装”上,实在不划算。有指…

Linguistics-English-时态16种:4种时间4种状态 + 16种时态详解 + 8种时态的被动语态

时态16种: 4种时间 4种状态时态标志词 + 时态详解 + 8种语态的被动语态: