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

40
AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师 Supercell如何利用大数据分析 打造爆款手游

Upload: others

Post on 13-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

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

Supercell如何利用大数据分析

打造爆款手游

Page 2: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

游戏作者的常见问题

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

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

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

Page 3: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Supercell – Scaling Mobile Games

https://youtu.be/wqz7AunrzcU

Page 4: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Supercell - Scaling analytics

有弹性的分析系统

Page 5: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

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

Page 6: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

分析的数量级

~5 TB 每天产生的数据量

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

整个数据仓库容量 ~4PB

事件样例

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

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

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

Page 7: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

Page 8: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

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

数据库

Page 9: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Data Pipeline —— 数据管道

Page 10: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

2012,事件管道

客户端事件收集

Page 11: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

2013,事件管道

客户端事件收集

服务器事件收集

Page 12: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

事件管道的优劣势

+ 简单

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

- 不能实时访问

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

- 只能从S3消费数据

Page 13: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

2013年末,流式管道

客户端事件收集

服务器事件收集

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

Page 14: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

2013年末,流式管道

客户端事件收集

服务器事件收集 事件整合

Page 15: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

流式管道

客户端事件收集

服务器事件收集 事件整合

仪表板

实时分析

第三方接入

支持部门

Page 16: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

流式管道的优势

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

实时访问数据

多路消费数据

Page 17: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Supercell Kinesis 设置

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

• 服务器端事件

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

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

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

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

Page 18: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Amazon Kinesis 分发

困难:

• 主流相当大

• ~200 每个流的分片数量

• ~100MB/s 每秒数据量

• 混合着各种类型的数据

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

解决方案:

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

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

Page 19: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

Page 20: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Data warehouse —— 数据仓库

Page 21: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

2013的ETL和数仓

数据科学家

用户

仪表板BI工具等等

Page 22: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

遇到的困难

• 集群上的尖峰负载

• 在ETL期间查询速度变慢

• 扩展或者收缩会很困难

• 储存与计算不分离

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

数据科学家

用户

仪表板BI工具等等

Page 23: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

目标

• 限制Vertica中的数据量

• 将计算与存储分开

• 将ETL处理与查询分开

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

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

Page 24: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

计划

• Amazon S3作为单一事实来源

• 数据存储为Parquet

• 使用EMR进行ETL

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

Page 25: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

现在的ETL和数仓

Page 26: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

现在的ETL和数仓

Page 27: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

现在的ETL和数仓

Page 28: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

现在的ETL和数仓

数据科学家

用户

仪表板BI工具等等

Page 29: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

当前方法的优势

计算和存储的分离

Amazon EMR可扩展到非常大

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

对数据科学家友好的环境

Page 30: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

分析系统的发展历程

2012 2018

游戏数据库

事件 事件流

数据仓库 Amazon S3数据仓库

Page 31: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

经验与教训

Page 32: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

扩展和故障恢复

• 随心缩放的架构

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

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

Page 33: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

分析

储存与计算分离

专注于数据本身

仔细规划如何定义Schema

没有 “数据规则”

Page 34: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Supercell文化

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

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

但是好处远大于坏处

Page 35: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

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

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

2001 2009

Page 36: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

云原生的分析系统——Fortnite

Page 37: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Epic Games的数据管线

Page 38: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

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

有趣的事实

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

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

每分钟9000万条

每天540亿条

月增长2PB

数据

4千台分析服务器

Page 39: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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

Page 40: Supercell如何利用大数据分析 打造爆款手游 · AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 张孝峰,AWS资深解决方案架构师

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 在线研讨会