Supercell如何利用大数据分析 打造爆款手游 · AWS...

Preview:

Citation preview

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

张孝峰,AWS资深解决方案架构师

Supercell如何利用大数据分析

打造爆款手游

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

游戏作者的常见问题

• 我有最好的架构/开发,最好的美工/策划,所以我有最好的游戏了

• 我投了很多钱打广告,曝光率足够了,但是却不能让客户多留/多玩一些时间

• 我和那家的游戏几乎就一模一样嘛,他就比较火/赚钱

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Supercell – Scaling Mobile Games

https://youtu.be/wqz7AunrzcU

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Supercell - Scaling analytics

有弹性的分析系统

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Supercell的“数据文化DataCulture”

Analytics can’t make a hit game - but can improve it

分析不能创造一款爆款——但可以改进他

Full transparency wrt data inside the company

完全透明的公司内部数据

Data scientist embedded in teams

数据科学家嵌入到每个团队当中

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析的数量级

~5 TB 每天产生的数据量

~15B 单条数据(单个事件)

整个数据仓库容量 ~4PB

事件样例

{"type": "level_changed", "account": 2474, "sessionId":

"AAABYr437O0KBSX9AAACwA==", "levelType": "experience", "level": 1,

"timestamp": 1523609760859, "game": "clash-royale"}

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析系统的早期版本——数据库时代

数据库

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Data Pipeline —— 数据管道

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

2012,事件管道

客户端事件收集

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

2013,事件管道

客户端事件收集

服务器事件收集

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

事件管道的优劣势

+ 简单

+ 比数据库时代,多了更多细节

- 不能实时访问

- 如果本地磁盘满了,数据就丢失了

- 只能从S3消费数据

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

2013年末,流式管道

客户端事件收集

服务器事件收集

https://aws.amazon.com/cn/kinesis/data-streams/

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

2013年末,流式管道

客户端事件收集

服务器事件收集 事件整合

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

流式管道

客户端事件收集

服务器事件收集 事件整合

仪表板

实时分析

第三方接入

支持部门

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

流式管道的优势

本地故障不会引起数据丢失

实时访问数据

多路消费数据

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Supercell Kinesis 设置

• 两个主数据流• 客户端事件

• 服务器端事件

• 数据随机分区• 失去顺序

• 在分片之间获得均匀的负载

• 客户端使用KCL消费流数据

https://docs.aws.amazon.com/zh_cn/streams/latest/dev/developing-consumers-with-kcl.html

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon Kinesis 分发

困难:

• 主流相当大

• ~200 每个流的分片数量

• ~100MB/s 每秒数据量

• 混合着各种类型的数据

• 不是所有客户端都需要所有类型数据

解决方案:

• 将主流拆分为多个不同应用需求的流

• 应用只需要消费自己需要的事件子集

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Data warehouse —— 数据仓库

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

2013的ETL和数仓

数据科学家

用户

仪表板BI工具等等

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

遇到的困难

• 集群上的尖峰负载

• 在ETL期间查询速度变慢

• 扩展或者收缩会很困难

• 储存与计算不分离

• 即使是大型的列式存储也有局限性

数据科学家

用户

仪表板BI工具等等

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

目标

• 限制Vertica中的数据量

• 将计算与存储分开

• 将ETL处理与查询分开

• 保持数据的单一事实来源

• 利用云的灵活性来优化资源使用

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

计划

• Amazon S3作为单一事实来源

• 数据存储为Parquet

• 使用EMR进行ETL

• Vertica仅用于结果(帐户,汇总和KPI)

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

现在的ETL和数仓

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

现在的ETL和数仓

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

现在的ETL和数仓

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

现在的ETL和数仓

数据科学家

用户

仪表板BI工具等等

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

当前方法的优势

计算和存储的分离

Amazon EMR可扩展到非常大

ETL工作负载使用专用的临时集群

对数据科学家友好的环境

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

经验与教训

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

扩展和故障恢复

• 随心缩放的架构

• 微服务架构和数据库分片

• 假设失败 - 并考虑到这一点

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

分析

储存与计算分离

专注于数据本身

仔细规划如何定义Schema

没有 “数据规则”

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Supercell文化

Supercell最成功的地方是保持每个团队的独立

对于Supercell来说,最困难的也是保持团队的独立性

但是好处远大于坏处

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

亚马逊的开发体系的转型: 2001-2009

单体应用 + 大团队 微服务 + 2 pizza teams

2001 2009

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

云原生的分析系统——Fortnite

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Epic Games的数据管线

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

创业公司的人员配置,企业级的分析规模

有趣的事实

• ~ 2 全职工程师运维这个平台

• ~150 数据工程师日夜不停的查询

每分钟9000万条

每天540亿条

月增长2PB

数据

4千台分析服务器

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Useful Links——往期 AWS 在线研讨会学习资源

AWS 基础服务介绍及实操 - 计算、存储和访问权限管理

AWS 基础服务介绍及实操 - 利用 Amazon VPC 服务搭建经典 Web 三层架构

AWS 基础服务介绍及实操 - Amazon Aurora 数据库

https://aws.amazon.com/cn/about-aws/events/webinar/

在线旅行社(OTA) 行业在 AWS 上的最佳实践

https://aws.amazon.com/cn/about-aws/events/webinar/2018/#jul

如何通过多区域部署让你的架构实现高可用?——AWS中国多区域部署方案简介

https://aws.amazon.com/cn/about-aws/events/webinar/2018/#mar

Amazon Transcribe 和 Amazon Translate 动手开发实践

Amazon Comprehend 服务介绍和应用

亚马逊图像视频分析服务简介与动手实践

https://aws.amazon.com/cn/about-aws/events/webinar/2018/#may

如何基于 AWS 构建安全且敏捷的数据湖

基于 EMR Spark 服务的大数据分析架构搭建

https://aws.amazon.com/cn/about-aws/events/webinar/2018/#dec

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

我们希望您喜欢今天的内容!也请帮助我们完成反馈问卷。

欲获取关于 AWS 的更多信息和技术内容,可以通过以下方式找到我们:

微信公众号:AWSChina

新浪微博:https://www.weibo.com/amazonaws/

领英:https://www.linkedin.com/company/aws-china/

知乎:https://www.zhihu.com/org/aws-54/activities/

视频中心:http://aws.amazon.bokecc.com/

更多线上技术活动:https://aws.amazon.com/cn/about-aws/events/webinar/

感谢参加 AWS 在线研讨会

Recommended