Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
Search
gree_tech
PRO
September 18, 2018
Technology
630
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TB / Day規模のゲーム向けデータパイプラインを開発運用する日々
WebDB Forum 2018で発表された資料です。
http://db-event.jpn.org/webdbf2018/
gree_tech
PRO
September 18, 2018
More Decks by gree_tech
See All by gree_tech
1on1、進捗確認だけになっていませんか?〜明日から使えるTips〜
gree_tech
PRO
0
10
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
990
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
1.1k
ゲームにおけるメディアミックス展開との向き合い方 -ヘブンバーンズレッドのメディアミックス企画の立て方-
gree_tech
PRO
0
1.1k
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
1.1k
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
990
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
1.6k
我々はどう生きるか
gree_tech
PRO
2
1.1k
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
5.6k
Other Decks in Technology
See All in Technology
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
280
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
290
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
180
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
180
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
150
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
180
猫でもわかるKiro Web
kentapapa
1
160
GitHub Agentic Workflows を触ってみる
htkym
2
910
Meet AgentCore Identity Consent Portal
hironobuiga
3
150
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
100
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The SEO identity crisis: Don't let AI make you average
varn
0
570
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Google's AI Overviews - The New Search
badams
0
1.6k
Test your architecture with Archunit
thirion
2
2.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
260
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Practical Orchestrator
shlominoach
192
12k
Code Review Best Practice
trishagee
74
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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を考慮した日々の開発が重要 まとめ 開発運用する日々に対する所感