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
960
PHPカンファレンス北海道2024 リーダブルSQL
ytsuzaki
5
580
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
350
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.8k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
760
Nuxt Composition API 使ってみた
ytsuzaki
0
170
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
680
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
110
アクセス制御ライブラリ Casbinを使ってみた
ytsuzaki
2
1.4k
Other Decks in Technology
See All in Technology
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
300
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
260
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
160
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
250
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
33
1.5k
Documentation Writing (for coders)
carmenintech
66
4.5k
Faster Mobile Websites
deanohume
305
30k
Unsuck your backbone
ammeep
669
57k
Being A Developer After 40
akosma
87
590k
Agile that works and the tools we love
rasmusluckow
328
21k
RailsConf 2023
tenderlove
29
940
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Statistics for Hackers
jakevdp
796
220k
The Language of Interfaces
destraynor
154
24k
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 / スプレッドシート - これからもデータの活用とデータ基盤の改善を進めていく