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
MeetUP1_大規模データ処理の基盤構築_20220209.pptx.pdf
Search
BrainPad
March 10, 2022
Programming
1
590
MeetUP1_大規模データ処理の基盤構築_20220209.pptx.pdf
BrainPad
March 10, 2022
Tweet
Share
More Decks by BrainPad
See All by BrainPad
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
160
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
490
エンジニア応募者様向け_会社説明資料_202502
brainpadpr
0
2.2k
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
5
370
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
2
360
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
12
2.1k
「ビジネス現場でのデータ分析者」 東京大学 GCI 2024 Winter
brainpadpr
3
1.9k
白金鉱業Meetup Vol.16_数理最適化案件のはじめかた・すすめかた
brainpadpr
3
1.8k
白金鉱業Meetup Vol.16_【初学者向け発表】 数理最適化のはじめの一歩 〜身近な問題で学ぶ最適化の面白さ〜
brainpadpr
11
2.2k
Other Decks in Programming
See All in Programming
XP, Testing and ninja testing
m_seki
2
140
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
130
GoのWebAssembly活用パターン紹介
syumai
3
10k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
Create a website using Spatial Web
akkeylab
0
290
生成AIで日々のエラー調査を進めたい
yuyaabo
0
620
無関心の谷
kanayannet
0
180
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
190
Claude Codeの使い方
ttnyt8701
1
130
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
970
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
Passkeys for Java Developers
ynojima
3
880
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
200
Faster Mobile Websites
deanohume
307
31k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Scaling GitHub
holman
459
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Become a Pro
speakerdeck
PRO
28
5.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Transcript
Analytics Innovation Company 株式会社ブレインパッド 吉田 史也 2022年2月9日 大規模データ処理の基盤構築
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 1 自己紹介|吉田史也 所属
• 株式会社ブレインパッド プロダクトビジネス本部 開発部 • リードエンジニア 趣味 • 自転車 • ゲーム(FPS関連)
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 2 本日お話すること データ基盤をどうやって作ってきたのか
• プロダクトの立ち上げからプロトタイプの作成、開発にまつわる苦労したこと • 現行のデータ処理基盤の開発について 新規プロダクトの開発にまつわる悩み データ処理基盤構築時に発生したことについてお伝えします。 https://blog.brainpad.co.jp/entry/2021/07/21/111850
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 3 Rtoaster insight+とは
データを統合し、顧客のインサイトをつかんでデータから価値を引き出す 柔軟なカスタマーデータプラットフォーム(CDP)
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 4 Rtoaster insight+とは
データを統合し、顧客のインサイトをつかんでデータから価値を引き出す 柔軟なカスタマーデータプラットフォーム(CDP) 「システム連携・出力」(ジョブ機能)の開発に ついてお話をします
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 5 開発のフェーズイメージ •
開発の始まり - 2019年10月~2019年12月 • β版作成 - 2020年1月~ • リリース案内 - 2020年10月 • GA版提供開始 - 2021年5月~
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 6 開発の始まり •
企業がデータを元に意思決定ができるようオンライン・オフライン上のデータを統合するための基盤として CDPである「insight+(仮)」を作ってみよう企画段階 • 何を作って、何を作らないのかを決めている段階でもあった • プロトタイプの作成ではエンジニア内での技術調査込みで実施する →エンジニア2名がデータ処理の基盤を作る
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 7 開発の始まり •
技術スタックを確定させる • データを入出力、ETLの処理ができる基盤作り、検証できる
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 8 開発の始まり| 技術スタックを確定させる
新たなプロダクトづくり、部内が持つ技術要素で作る 技術的な挑戦を込みで、プロトタイプを作成する (メンバーはAWSでの環境構築経験のみ)
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 9 ETL処理とは 各種データソースからデータを抽出、加工(変換)、書き込みを行う一連の処理のこと
抽出 変換 書き込み データソース例
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 10 ETLの処理ができる基盤作り •
データソースは実態のファイルである点 • GAEで構築しようとすると諸々の問題がこの後発生していく 抽出 いろんなデータソースに格納されている 10~100GBなど大量データで読み書きが行われる ファイルのタイプも様々 インメモリでしか扱えない(当時F2インスタンス、256MB程度) Basic scaling で1リクエストデッドラインは24時間 etc... Cloud Run に逃がすなどの可能性はないか検討
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 11 プロトタイプ •
Basic scalingでバッチ環境(データ処理基盤)構築 • アプリレイヤーは、NuxtJS+Python3 定期実行
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 12 苦労した話 •
データ読み取りはチャンクダウンロードで行う • 10MBごとにBigQueryに書き込みを行っていく処理実装 • そもそもGAEなどのサービス理解がメンバー全員高い状態ではない • このプロトタイプは要求に応えるレベルだったか • (技術的な課題)加工・変換部分での課題 • (機能的な課題)ファイル中身が見えない課題 定期実行
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 13 苦労した話 •
データ読み取りはチャンクダウンロードで行う • 10MBごとにBigQueryに書き込みを行っていく処理実装 • そもそもGAEなどのサービス理解がメンバー全員高い状態ではない • このプロトタイプは要求に応えるレベルだったか • (技術的な課題)加工・変換部分での課題 • (機能的な課題)ファイル中身が見えない課題 のちに ・プレビュー機能などに技術転用 定期実行
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 14 β版作成 •
メンバーを増やし、プロトタイプで把握できた点を実装する • チャンクダウンロードの問題で発生した諸々の問題から「cliboa」を導入、アーキテクチャを刷新する この開発でやっていたこと 1.テストコードを書いていく 2.ドキュメントを書いていく 3.人を増やしたのは「cliboa」の知見を持つ人、GCP開発を経験した人 4.データ処理基盤のアーキテクチャは部内の知見を活かす、最新技術でサービスは作らない方針
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 15 β版作成 •
メンバーを増やし、プロトタイプで把握できた点を実装する • チャンクダウンロードの問題で発生した諸々の問題から「cliboa」を導入、アーキテクチャを刷新する 抽出・書き込み データソース例 抽出・書き込み 加工
Analytics Innovation Company ©BrainPad Inc. Strictly Confidential 16 まとめ|知ってほしいこと •
データ処理基盤構築でも、同じような開発の悩みを抱えて開発を行っている • プロトタイプの作成から技術的課題、機能的課題を出していくことができた • できること、できないことを取捨選択して、挑戦できる部分は挑戦をすることは大事
本資料は、未刊行文書として日本及び各国の著作権法に基づき保護されております。本資料には、株式会社ブレインパッド所有の特定情報 が含まれており、これら情報に基づく本資料の内容は、御社以外の第三者に開示されること、また、本資料を評価する以外の目的で、その一 部または全文を複製、使用、公開することは、禁止されています。また、株式会社ブレインパッドによる書面での許可なく、それら情報の一部ま たは全文を使用または公開することは、いかなる場合も禁じられております。 株式会社ブレインパッド 〒108-0071 東京都港区白金台3-2-10 白金台ビル3F TEL:03-6721-7002 FAX:03-6721-7010 www.brainpad.co.jp
[email protected]
Analytics Innovation Company