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
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
Search
y-tsuzaki
March 13, 2023
Technology
1
350
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
PHPerKaigi2023(勝手に)リジェクトカンファレンス
M&Aクラウド プロダクト開発部 つざき
y-tsuzaki
March 13, 2023
Tweet
Share
More Decks by y-tsuzaki
See All by y-tsuzaki
PHPカンファレンス福岡2024 【超特急】SQLアンチパターン総おさらいLT
ytsuzaki
0
850
PHPカンファレンス北海道2024 リーダブルSQL
ytsuzaki
5
570
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
340
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.7k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
740
Nuxt Composition API 使ってみた
ytsuzaki
0
160
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
660
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
100
アクセス制御ライブラリ Casbinを使ってみた
ytsuzaki
2
1.3k
Other Decks in Technology
See All in Technology
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
420
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
260
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
480
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
ネット広告に未来はあるか?「3rd Party Cookie廃止とPrivacy Sandboxの効果検証の裏側」 / third-party-cookie-privacy
cyberagentdevelopers
PRO
1
120
ガバメントクラウド先行事業中間報告を読み解く
sugiim
1
480
事業者間調整の行間を読む 調整の具体事例
sugiim
0
490
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
3.8k
サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話
coincheck_recruit
3
3.6k
日経電子版におけるリアルタイムレコメンドシステム開発の事例紹介/nikkei-realtime-recommender-system
yng87
1
460
「 SharePoint 難しい」ってよく聞くけど、そんなに言うなら8歳の息子に試してもらった
taichinakamura
1
520
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Optimizing for Happiness
mojombo
376
69k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
BBQ
matthewcrist
85
9.3k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Agile that works and the tools we love
rasmusluckow
327
21k
Why Our Code Smells
bkeepers
PRO
334
57k
It's Worth the Effort
3n
183
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Transcript
Copyright© M&Aクラウド ある日PHPerがベンチャー企業の データ基盤を作ることになったら PHPerKaigi2023(勝手に)リジェクトカンファレンス M&Aクラウド プロダクト開発部 つざき
Copyright© M&Aクラウド 2 自己紹介 つざき @820zacky - アプリケーションエンジニア / 見習いデータエンジニア
- Laravel + Nuxt.js / Svelte - SIer → Web受託開発 → M&Aクラウド
Copyright© M&Aクラウド イントロダクション - 想定視聴者 - PHPer - データ基盤は詳しくない -
話すこと - データ基盤とはなにか - 導入にあたっての課題とどう対処したのか - 実際どんなデータ基盤を作ったのか - 話さないこと - データ基盤の詳細の話 - データ基盤の詳しい設計の話 - データ基盤に関わる組織の話 3
Copyright© M&Aクラウド 目次 - イントロダクション - 背景 - M&Aクラウドのデータ -
M&Aクラウドにおけるデータの課題 - データ基盤構築の課題と対処法 - DWHがわからない - DWHの技術選定がわからない - DWHの設計がわからない - ETLツールがわからない - dbtがわからない - BIツールがわからない - 構築したデータ基盤 - 構成 - メリット - 今後の展望 - まとめ 4
Copyright© M&Aクラウド イントロダクション 5 PHPでアプリケーション開発たのしいなぁ! つざき
Copyright© M&Aクラウド イントロダクション 6 データ基盤作るのやりますか? CTO荒井
Copyright© M&Aクラウド イントロダクション 7 やります つざき
Copyright© M&Aクラウド イントロダクション 8 ということで 2022年7月からデータ基盤の立ち上げを 手伝うことになりました (※スライド無駄遣いしてすみません)
Copyright© M&Aクラウド データ基盤導入の背景 9
Copyright© M&Aクラウド - 2つのプラットフォームを運営 - M&Aのプロフェッショナルによる M&A・資金調達のサポートするサービス - プラットフォームとは独立的に業務 -
プラットフォームのユーザーではない企業も対象 背景 - M&Aクラウドのデータ 10 M&Aクラウド 資金調達クラウド
Copyright© M&Aクラウド 背景 - M&Aクラウドのデータ 11 プラットフォーム以外にも M&Aアドバイザリーや営業などの様々な業務があり様々なデータがある MySQL、 Salesforce、Googleスプレッドシート、各種
SaaSなどにデータが分散 M&Aクラウドのデータ例
Copyright© M&Aクラウド 背景 - データ利用の課題 12 - Redashの導入によって、ある程度のデータは横断的にSQLで分析・抽出できるようになっていた - ”Redashは、データの視覚化や分析のためのオープンソースのビジネスインテリジェンスツールです。Redashを使用すること
で、SQLやNoSQLデータベース、クラウドサービス、CSVファイルなど、さまざまなデータソースからデータをクエリーして視覚 化することができます。” (ChatGPTより) - 社員がそれぞれSQLでデータ活用できるようになってHAPPYに・・・!? Redashによるデータ利用 SQLを使った ・抽出 ・集計 ・グラフ化
Copyright© M&Aクラウド 背景 - データ利用の課題 13 データ活用の課題 - SQLが乱立・複雑化してどういう集計をしているのかわからない -
毎回JOINしてて大変 - 各部のKGI・KPIなどの事業運営に必要な重要な数字が合ってるのかわからない - スプレッドシートへの連携が不安定 これ結構あるあるだと思います(?) Redash以外についてもいろいろ課題はありますが割愛
Copyright© M&Aクラウド 背景 - M&Aクラウドのデータ基盤の略歴 14 2022年 7月 データ基盤の構築を開始 CTO,
津崎, 業務委託のデータエンジニアの3名 2022年11月 データ基盤を社内公開 2022年 12月 一人目データエンジニア入社 2022年 1月 データチームのロードマップ作成 2023年 3月 データ基盤を使ったデータ活用を進行中 ←今ここ
Copyright© M&Aクラウド 導入の課題と対処法 15
Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 16 課題:データ基盤がわからない - データ基盤は、データの収集、保存、処理、管理、分析などを行うための技術的な基盤
Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 17 - 3層にわけてデータを扱う - データレイク層
- 多様なデータを集約する場所 - データウェアハウス層 - 加工・結合したデータを置く場所 - 中間の層 - データマート層 - 加工・結合したデータを置く場所 - ユースケースごとにデータを作成
Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 18 - 業務委託でデータエンジニアの方に手伝っていただいた - データ基盤の経験がある方に手伝ってもらうことで
手戻りなくデータ基盤の導入、設計ができた - データ基盤の全体像の把握で参考にしたもの - 実践的データ基盤への処方箋(ゆずたそ,渡部徹太郎,伊藤徹郎 著) - データエンジニア向け勉強会(Data Engineering Study) - https://www.youtube.com/channel/UCFde45ijA-G9zs7s2CuftRw
Copyright© M&Aクラウド 導入の課題と対処法 - DWHがわからない 19 課題:DWHがわからない - DWH(データウェアハウス)とは -
様々なシステムからデータを集めて整理する、データの「倉庫」 - データ分析特化のデータベース - SQLでデータ抽出・集計できる 特徴 - 大規模データを蓄積できる - 大規模データを分析できる - データの読み込みに特化 代表的な製品 - Google BigQuery - Redshift - Snowflake
Copyright© M&Aクラウド 導入の課題と対処法 - どのDWH製品を使ったらいいかわからない 20 課題:どのDWH製品を使ったらいいかわからない Redshift Redshift Serverless
Snowflake BigQuery クラウドベンダ ◯ AWS (弊社ですでに使っている) ◯ AWS (弊社ですでに使っている) ◯ AWSも選べる (弊社ですでに使っている) △ GCP (弊社ではマルチクラウドになってし まう) 情報収集のしやすさ △ × できたてのサービスのため △ ◎ 日本語情報が多い クラスタ管理 × 自分で管理 ◯ 不要 △ コンピュートリソースを 自分で決めなきゃいけない ◯ 不要 BI・データ連携 ◯ ◯ ◯ ◎ Google製品(スプレッドシート/Looker Studio)と相性がいい 料金体系 × クラスタ台数で課金 ◯ 分析に使用した時間で課金 △ コンピュートリソース単位 ◎ 分析に使用したデータ量 シェア (2021年 Gartner調べ) 約20% 不明 約26% 約13% DWHの比較表
Copyright© M&Aクラウド 導入の課題と対処法 - ETLツールがわからない 21 課題:ETLツールがわからない - ETLとは -
Extract 抽出 - Transform 変換 - Load ロード - データソース→BigQuery のデータ転送をさせたい Troccoという国内SaaSを採用した 技術選定のポイント - インフラのメンテコストが少ないこと - 運用コストが低いこと - GUIで設定できる - 他のツール:yamlとかPythonを書く必要がある - embulkのyamlも書き出せる
Copyright© M&Aクラウド 導入の課題と対処法 - dbtがわからない 22 課題:dbtがわからない - dbtとは? -
DWH内のデータ変換を実行するツール - SQLを使ってデータの加工ができる - 加工したデータに対してテストを書くこともできる - なぜdbtが必要? - 層ごとに技術要素を分けるやり方もある - 例) S3 → Hadoop → Tableau - 層ごとに技術要素をわけないことでデータモデリングの修正・変更を容 易に - 参考:データ基盤の 3分類と進化的データモデリング - 下町柚子黄昏記 by @yuzutas0 https://yuzutas0.hatenablog.com/entry/2018/12/02/180000 - dbtのベストプラクティスに習い 4層で設計 - 参考: How we structure our dbt projects - dbt https://docs.getdbt.com/guides/best-practices/how-we-structure/1-guide-overview - dbt docs でデータカタログを生成 - メタデータを閲覧できるドキュメント
Copyright© M&Aクラウド 導入の課題と対処法 - BIツールがわからない 23 課題:BIツールがわからない - BI(ビジネスインテリジェンス)とは -
組織がよりデータに基づいた意思決定を行えるように支援するツール - データをグラフ化してレポート作成 - 代表的なもの - Tableau - Microsoft Power BI - Google Looker Studio (Data Potalから名称変更) Google Looker Studioを採用 - (結局スプレッドシートが便利すぎるのでスプレッドシートも BIとして活用) 技術選定のポイント - BigQueryと連携しやすい - 無料なところ - 他のツールは何百万円 /年 くらいかかる
Copyright© M&Aクラウド 導入の課題と対処法 - dbtがわからない 24 参考: - dbt とは何をするツールなのか?
| FLYWHEEL Tech ブログ - 「はじめてのdbt活用~DWH内のデータ整備が楽になる!~」を開催しました #dbt - dbt™ CLIでデータ開発に自動テストを導入した話 - データエンジニア界隈で有名な dbtまとめ - dbt Cloudで始めるデータパイプライン構築の dbt入門 - dbtでmodelやsourceのベースとなるコードを自動で生成してくれる package「codegen」を試してみた
Copyright© M&Aクラウド 構築したデータ基盤 25
Copyright© M&Aクラウド 構築したデータ基盤 - 構成 26 構築したデータ基盤
Copyright© M&Aクラウド 構築したデータ基盤 - 得られたメリット 27 データ基盤の課題が解決された - SQLが乱立・複雑化してどういう集計をしているのかわからない -
データ基盤で秩序がもたらされた - 毎回JOINしてて大変 - データ基盤側でよくJOINされるテーブルをあらかじめJOINしたデータマートをデータチームが作成 - 各部のKGI・KPIなどの事業運営に必要な重要な数字が合ってるのかわからない - データ基盤で秩序がもたらされた - データマートをデータチームが作成中 - スプレッドシートへの連携が不安定 - スプレッドシートのコネクテッドシート機能でデータ基盤と連携
Copyright© M&Aクラウド 今後の展望 28
Copyright© M&Aクラウド 今後の展望 29 - データ基盤を使って正しい数字を出していく - 各部のKGI・KPIを全てデータ基盤で正確に計算 - 社内でのデータ利用の推進
- データカタログの充実 - 便利なデータマートの充実 - SQLなしでデータを分析できるような仕組みづくり - 利用できるデータを増やして分析の幅を広げる - ユーザーの流入から M&Aの成約に至るまでのあらゆるデータを統合して分析できるようにする
Copyright© M&Aクラウド まとめ 30
Copyright© M&Aクラウド まとめ 31 - ある日PHPerがベンチャー企業のデータ基盤を作ることになったら・・・ - 未経験でわからないことだらけ - 経験のあるデータエンジニアと一緒に基盤構築したことで無事データ基盤構築ができた
- 山﨑さん ありがとうございます (https://www.linkedin.com/in/profile-yohei-abo/) - スモールに始められて運用の人的コストも低いような技術選定をした - DWH: BigQuery - ETL : dbt, Trocco - BI : Google Looker Studio / スプレッドシート - これからもデータの活用とデータ基盤の改善を進めていく