Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
Search
gree_tech
PRO
September 18, 2018
Technology
0
380
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
WebDB Forum 2018で発表された資料です。
http://db-event.jpn.org/webdbf2018/
gree_tech
PRO
September 18, 2018
Tweet
Share
More Decks by gree_tech
See All by gree_tech
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.2k
生成AIを開発組織にインストールするために: REALITYにおけるガバナンス・技術・文化へのアプローチ
gree_tech
PRO
0
92
安く・手軽に・現場発 既存資産を生かすSlack×AI検索Botの作り方
gree_tech
PRO
0
79
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
1
520
あうもんと学ぶGenAIOps
gree_tech
PRO
0
83
MVP開発における生成AIの活用と導入事例
gree_tech
PRO
0
100
機械学習・生成AIが拓く事業価値創出の最前線
gree_tech
PRO
0
110
コンテンツモデレーションにおける適切な監査範囲の考察
gree_tech
PRO
0
61
新サービス立ち上げの裏側 - QUANT for Shopsで実践した開発から運用まで
gree_tech
PRO
0
69
Other Decks in Technology
See All in Technology
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
140
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
720
datadog-incident-management-intro
tetsuya28
0
120
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
630
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
960
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
260
ピープルウエア x スタートアップ
operando
1
3k
次世代のメールプロトコルの斜め読み
hirachan
3
330
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.3k
[AWS 秋のオブザーバビリティ祭り 2025 〜最新アップデートと生成 AI × オブザーバビリティ〜] Amazon Bedrock AgentCore で実現!お手軽 AI エージェントオブザーバビリティ
0nihajim
1
200
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
230
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
310
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
A Tale of Four Properties
chriscoyier
161
23k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
650
BBQ
matthewcrist
89
9.9k
Music & Morning Musume
bryan
46
6.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Transcript
Copyright © GREE, Inc. All Rights Reserved. TB/Day規模のゲーム向け データパイプラインを 開発運用する日々
グリー株式会社 開発本部 森田想平
目次 2 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
会社紹介 3 社名 グリー株式会社 事業内容 • ゲーム・ライブエンタメ事業 • 広告・メディア事業 •
投資事業 設立 2004年12月7日 代表者 代表取締役会長兼社長 田中良和 本社所在地 東京都港区六本木 6-10-1 六本木ヒルズ森タワー 従業員数 1,531人(グループ全体・ 2018年6月末現在) 主なグループ企業 • グリービジネスオペレーションズ株式会社 • グリーベンチャーズ株式会社 • ファンプレックス株式会社 • 株式会社ポケラボ • リミア株式会社 • 株式会社ExPlay • Glossom株式会社 • GREE VR Capital, LLC. • 株式会社Wright Flyer Studios • 株式会社3ミニッツ
会社紹介 4
開発本部(の一部メンバー) 会社紹介 ゲームプラットフォーム事業 5 ゲーム事業 ライブエンタメ事業 メディア事業 • 横断データ基盤、分析ツールの開発運用 •
事業ごとのデータ基盤、分析ツールの開発運用
目次 6 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
Copyright © GREE, Inc. All Rights Reserved. • ex. シノアリス
• AppStoreトップセールスランキング最高1位 • 最大AWSインスタンス数1000前後(らしい) • ex. ゲームプラットフォーム事業 • オンプレミスサーバ数千台程度 データ基盤全般の紹介 事業の規模感 ref. https://gamebiz.jp/?p=218802
Copyright © GREE, Inc. All Rights Reserved. • データ基盤に送信蓄積されるデータ量 •
増加量は数TB/Day 程度 • 現在 1PB前後を管理運用 • 送信されるデータを全て永遠に取っておくわけではない データ基盤全般の紹介 データの規模感
Copyright © GREE, Inc. All Rights Reserved. • オンプレミスMySQLサーバ群 •
MySQLサーバ : 100台程度(数十TB) • オンプレミスHadoop • Hadoopクラスタ : 50台程度(数百TB) データ基盤全般の紹介 幾つかの世代がある
Copyright © GREE, Inc. All Rights Reserved. • AWSベースのデータ基盤 •
メインのデータ基盤(数百TB) • 後述します • GCPベースのデータ基盤 • 最近使い始めた(データ少ない) • 少しだけ後で触れます データ基盤全般の紹介 幾つかの世代がある
Copyright © GREE, Inc. All Rights Reserved. • 旧Sun Microsystemsの専用アプライアンス(Solaris)から汎用IA
サーバ(Ubuntu)へのMySQLマイグレーション • ZFSの機能(zfs send)にpatchを当てて利用 • オンプレミスHadoopからAWSデータ基盤へのマイグレーション • データ送信はfluentdのダブルライト • 過去ログはAWS Snowballデバイス • バッチジョブは地道に書き換える データ基盤全般の紹介 レガシーシステムからのマイグレーション
目次 12 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
Copyright © GREE, Inc. All Rights Reserved. AWSベースのデータ基盤 システム構成 Amazon
Kinesis Amazon EMR Amazon S3 Kinesis Consumer API Server BI Tool KPI Metric プロダクトA プロダクトB プロダクトC プロダクトD
Copyright © GREE, Inc. All Rights Reserved. • S3への重依存 •
(オンプレミスと比べた場合の)運用負荷減 • クエリエンジンのステートレス化 • 障害対応やバージョンアップが容易に AWSベースのデータ基盤 規模感に伴うかんどころ:その1
Copyright © GREE, Inc. All Rights Reserved. • S3のファイル数が多くなると、クエリ実行時にS3のRead(API呼び出 し)がボトルネックになる
• 定常的にファイルをマージしている • 遅延ログがあるとマージが難しくなる • よく使うテーブルに関しては、定常的にカラムナフォーマットで作り直し ている AWSベースのデータ基盤 規模感に伴うかんどころ:その2
Copyright © GREE, Inc. All Rights Reserved. • 会社組織が複雑になると、権限管理が複雑になる •
書き込みに関しては、プロダクトごとにAWSアカウントがあるので、 IAM Assume Roleという機能を利用する AWSベースのデータ基盤 規模感に伴うかんどころ:その3 Amazon Kinesis Streams IAM Role (KinesisへのWrite権限) Amazon EC2 AWS Lambda 1. AssumeRoleで一時的権限を取得 2. Kinesis::PutRecordsでログを送信 データ分析基盤のAWSアカウント プロダクトのAWSアカウント
目次 17 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
Copyright © GREE, Inc. All Rights Reserved. GCPベースのデータ基盤 システム構成 analytics-system
production server Stackdriver BigQuery Data Studio Cloud Pub/Sub Cloud Storage Cloud Dataflow client Cloud SQL Firebase App Engine ios/android
Copyright © GREE, Inc. All Rights Reserved. • スケーラビリティに関しては、まだ検証フェーズ •
心配はしていない GCPベースのデータ基盤 概要
目次 20 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
Copyright © GREE, Inc. All Rights Reserved. システムを 「気持ちよく開発・保守できるかどうか」を 示す言葉(として一部使われている)
開発運用する日々 デベロッパーエクスペリエンス(DX) ref. https://gfx.hatenablog.com/entry/2018/06/28/100103
Copyright © GREE, Inc. All Rights Reserved. • セットアップの自動化 •
実行環境(OS)の移植性の最大化 • サーバ・システム管理を不要に • 継続的デプロイを可能に • スケールアップを可能に 開発運用する日々 The Twelve-Factor App ref. https://12factor.net/ja/
Copyright © GREE, Inc. All Rights Reserved. • (本番と同様)、開発時も依存プロセスが多い •
dockerで各プロセスを管理するが、1つ1つ再起動等するのは手間に なる • そこで、docker-compseという複数dockerを管理する仕組みを利用 する • 一括で起動できる • コンテナ間の通信や依存関係を設定できる 開発運用する日々 DX向上のための工夫の例
Copyright © GREE, Inc. All Rights Reserved. • システムコンポーネント(AWSベースデータ基盤の場合) •
Kinesis Consumerアプリケーション(データ配送ロジック) • API Server(クエリの管理や権限制御) • Analyticsツール(ワークフロー機能等含む) • 構成管理・デプロイ・起動 • その他、細かいコード • バッチジョブ(ファイルマージなど) • Presto等のUser-Defined Function 開発運用する日々 結局何を開発するのか?主なコーディング対象
Copyright © GREE, Inc. All Rights Reserved. • プロダクトマネジメント体制 •
仕様策定や利用者問い合わせ対応は別チームのタスク • 開発ツール • MacBookとAWS開発専用アカウントを駆使する • IntelliJ IDEA(IDE)のライセンスは付与 • 日々の作業 • 新規開発、bugfix、障害対応 • お昼は割と社内勉強会やコーディング系の部活 • ごく稀に、海外出張でカンファレンスに参加 開発運用する日々 開発運用体制
Copyright © GREE, Inc. All Rights Reserved. • (クラウド)データ基盤の開発運用のやりがい •
様々なミドルウェアや技術にさわれる (Mさん、Yさん) • 少さなコードで大規模なシステムが動く(Iさん) • 社内ユーザからダイレクトにFBがもらえる(Mさん) 開発運用する日々 開発メンバーの意見
Copyright © GREE, Inc. All Rights Reserved. • (クラウド)データ基盤の開発運用で大変なこと •
アラート対応 • マネージドサービスが死んだり調子が悪くなると、待つしかない • マネージドサービスの利用MWのバージョンがニーズにマッチしな いと辛い 開発運用する日々 開発メンバーの意見
目次 28 • 会社紹介 • データ基盤全般の紹介 • AWSベースのデータ基盤 • GCPベースのデータ基盤
• 開発運用する日々の話 • まとめ
Copyright © GREE, Inc. All Rights Reserved. • 開発運用対象が周縁化してる •
分散ファイルシステムやクエリエンジンなどデータパイプラインの中 心部分はマネージドサービス化が進んでいる • パイプラインの周縁は開発が必要 • 周縁部は事業依存になりがちなので • 必要な機能が増え、使えるコンポーネントも多いので、システム構成が 複雑になりがち • DXを考慮した日々の開発が重要 まとめ 開発運用する日々に対する所感