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
600
MeetUP1_大規模データ処理の基盤構築_20220209.pptx.pdf
BrainPad
March 10, 2022
Tweet
Share
More Decks by BrainPad
See All by BrainPad
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
1
400
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
12k
DTD_BQによる生成AIのバッチ処理とデータエンジニアリング
brainpadpr
0
94
DTD_クラウド×オンプレ連携で実現するデータ収集基盤の構築事例
brainpadpr
0
53
「ビジネス現場でのデータ分析者」 東京大学 GCI 2025 Summer
brainpadpr
2
2.2k
【新卒研修資料】効果検証_因果推論 / Impact evaluation Causal inference
brainpadpr
8
1.6k
DTD_Python実行環境_データ分析を支えるVM_コンテナ_サーバーレス比較.pdf
brainpadpr
0
68
DTD_Google製最新AIエージェントサービス「Agentspace」早期アクセス体験記
brainpadpr
1
39
AWSコンテナサービスの選び方_ECS・Lambdaのユースケースと設計ポイント
brainpadpr
0
49
Other Decks in Programming
See All in Programming
階層化自動テストで開発に機動力を
ickx
1
480
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
180
自作OSでDOOMを動かしてみた
zakki0925224
1
960
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
440
令和最新版手のひらコンピュータ
koba789
13
5.9k
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
190
リッチエディターを安全に開発・運用するために
unachang113
1
360
AI Ramen Fight
yusukebe
0
130
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
570
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Done Done
chrislema
185
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Site-Speed That Sticks
csswizardry
10
760
Art, The Web, and Tiny UX
lynnandtonic
301
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Optimizing for Happiness
mojombo
379
70k
GraphQLとの向き合い方2022年版
quramy
49
14k
Writing Fast Ruby
sferik
628
62k
Why Our Code Smells
bkeepers
PRO
337
57k
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