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
データ分析基盤を開発・運用するエンジニアリングチームの技術活用とその変遷 / StudySap...
Search
akitoshi toita
July 20, 2018
Technology
4.4k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データ分析基盤を開発・運用するエンジニアリングチームの技術活用とその変遷 / StudySapuri Data Meetup 02 Engineering Team Introduction
akitoshi toita
July 20, 2018
More Decks by akitoshi toita
See All by akitoshi toita
Treasure Dataで構築したデータ分析基盤、この1年の振り返り
toita
3
1.6k
Other Decks in Technology
See All in Technology
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.6k
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.2k
Goでデータパイプラインを作ろう
sansantech
PRO
1
420
SmartHR Engineering Team Deck
smarthr
1
1.9k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
130
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
190
Genie Codeハンズオン基礎編
taka_aki
1
110
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
250
猫付きpingコマンドを自作
uyuki234
0
210
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
540
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Paper Plane
katiecoart
PRO
2
53k
Chasing Engaging Ingredients in Design
codingconduct
0
260
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Docker and Python
trallard
47
4.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Unsuck your backbone
ammeep
672
58k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Tell your own story through comics
letsgokoyo
1
1k
Designing Experiences People Love
moore
143
24k
Embracing the Ebb and Flow
colly
88
5.1k
Transcript
Data Meetup #1 データ分析基盤を開発・運用する エンジニアリングチームの技術活用とその変遷 @toita
01 02 03 04 Agenda | 自己紹介 & チーム紹介 スタディサプリのデータ分析基盤
次世代データ分析基盤構想 まとめ
01 自己紹介 & チーム紹介
戸井田 明俊 @toita / @toitech ソーシャルゲーム開発会社でオンプレ Hadoop 上に構 築されたデータ分析基盤の開発・運用に従事した後、 2017年に株式会社リクルートマーケティングパートナー
ズに入社。 スタディサプリでは各種データ連携の拡充や分析者の 使いやすい環境を目指した基盤整備に加え、データを 活用した機能開発などを担当。 1児の父。趣味で特定のラーメン屋に似たジャンルのお 店を探せる検索エンジン※ を開発中。しかし進捗は芳し くない。 ※ https://yumy.tokyo
企画提案 研究開発 実証実験 性能改善 本番実装 本番運用 効果検証 要因分析 施策立案 分析
データサイエンティスト エンジニアリング データエンジニア R&D データリサーチエンジニア
➔ データとエンジニアリングでユーザーにより良い学習体験を届ける ➔ データ分析基盤の開発・運用、各種レポーティング、サービス開発など ◆ Treasure Data (Hive / Presto),
BigQuery, Embulk, Luigi, Digdag, Jenkins, Python etc... ◆ 8月から3人 => 5人体制に! エンジニアリングチームの役割
02 スタディサプリのデータ分析基盤
現在のシステム構成 Treasure Data (Hive / Presto) レポーティング 分析 Kinesis Lambda
TD SDK クライアントサイドログ サーバーサイドログ マスタデータ
➔ レコード数:10億超(動画視聴ログ) ➔ テーブル数:450+ ➔ ジョブ数:80+ / day(Presto)、 10+ /
day(Hive) ➔ 利用者:プロダクト・マーケ・経営企画などサービス関係者全般 活用状況
利用者別クエリ管理(ワークフロー)の使い分け Luigi + Jenkins Digdag / TD Workflow TD 登録クエリ
開発者・提供元 Spotify OSS (Treasure Data) Treasure Data 利用者 データグループの エンジニアリングチーム データグループの 分析チーム データグループ以外の 組織 エンジニア データ分析者 非エンジニア・分析者 言語・UI Python YAML GUI 利用者の用途やスキルに合わせた実行環境を提供
利用者別クエリ管理(ワークフロー)の使い分け Luigi + Jenkins Digdag / TD Workflow TD 登録クエリ
開発者・提供元 Spotify OSS (Treasure Data) Treasure Data 利用者 データグループの エンジニアリングチーム データグループの 分析チーム データグループ以外の 組織 エンジニア データ分析者 非エンジニア・分析者 言語・UI Python YAML GUI 利用者の用途やスキルに合わせた実行環境を提供 リソース分離されていないため、ワイルドクエリ にリソースを占有されてしまう問題 基幹集計処理とユーザーが待ち合わせできず、 遅延した時にデータが更新されない問題
施策例 1) 基幹集計処理の実行時間監視 Luigi のハンドラにジョブの実行時間を計測して TD に投げる処理を追加し、ボト ルネックジョブの特定とチューニングを可能にした
施策例 2) クエリ警察の設置 定期的に Treasure Data のジョブ状況を監視して Slack に通知 ◯時間もスロットを独占するワイルドなクエリは問答無用で強制終了
➔ 増え続けるデータ、テーブル、利用者 ➔ データを必要とするあらゆる業務と利用者に価値を提供してきた ➔ ジョブ監視の強化やチューニングを実施して運用を安定化 この2年半を振り返って
03 次世代データ分析基盤構想
➔ 潰しきれないワイルドクエリ問題 ➔ 同じプロダクトなのに他国のデータを横串で分析できていない ➔ データから得られた価値をユーザーにもっと直接届けられるはず!! 現在抱えている課題感
➔ ワイルドなクエリに負けないロバストな基幹集計処理基盤 ➔ 各国のデータ分析者が使いやすい抽象化とデータマートの提供 ➔ 守りのデータ活用から攻めのデータ活用へ!! データ分析基盤、進化の時
進化したデータ分析基盤(予定) Treasure Data (Hive / Presto) レポーティング 分析 Kinesis Lambda
BigQuery CRM TD SDK クライアントサイドログ サーバーサイドログ マスタデータ サービス提供 機械学習 モデル構築
BigQuery の導入 Treasure Data (Hive / Presto) レポーティング 分析 Kinesis
Lambda BigQuery CRM TD SDK クライアントサイドログ サーバーサイドログ マスタデータ サービス提供 機械学習 モデル構築 ・基幹集計は BigQuery で実行 ・行動ログは TD で受けるため一部その中で集計 ・運用維持のために集計結果を BigQuery から TD に連携 ・基幹集計処理の遅延(ワイルドクエリ問題)解消 ・BigQuery に蓄積されている他国データの活用
研究開発成果のプロダクト実装 Treasure Data (Hive / Presto) レポーティング 分析 Kinesis Lambda
BigQuery CRM TD SDK クライアントサイドログ サーバーサイドログ マスタデータ サービス提供 機械学習 モデル構築 ・ユーザーに直接価値を返すサービス開発(e.g., 講義動画レコメンド) ・R&D チームの研究開発成果を性能担保した上で本番実装 ・プロダクトサイドのマイクロサービス化の動きと連携 ・アドホック分析から定常的な学習・モデル構築へ
分析 データサイエンティスト エンジニアリング データエンジニア R&D データリサーチエンジニア R&D チームの開発したプロトタイプを本番環境向 けに再実装(Search API
/ Logger / デプロイスク リプト etc) コーチングサポートツール開発での連携例
きめ細やかなユーザー伴走の実現 Treasure Data (Hive / Presto) レポーティング 分析 Kinesis Lambda
BigQuery CRM TD SDK クライアントサイドログ サーバーサイドログ マスタデータ サービス提供 機械学習 モデル構築 MA ツールとの連携を通して、ユーザー属性や学習状況に応じたきめ細や かなコミュニケーションが可能に
まとめ 05
➔ BigQuery の導入によるロバストな基盤の実現 ➔ グローバル統合によって世界各国のデータ分析者を支える存在へ ➔ R&D チームの研究成果をマイクロサービスとして本番実装 ➔ データとエンジニアリングでユーザーにより良い学習体験を届ける!
次世代データ分析基盤開発プロジェクトが絶賛進行中!
None
Happy Hacking :)