Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
930
PHPカンファレンス北海道2024 リーダブルSQL
ytsuzaki
5
580
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
350
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.7k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
750
Nuxt Composition API 使ってみた
ytsuzaki
0
160
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
670
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
110
アクセス制御ライブラリ Casbinを使ってみた
ytsuzaki
2
1.4k
Other Decks in Technology
See All in Technology
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
160
sre本読んだ感想
pisakun
0
220
「品質とスピードはトレード・オンできる」に向き合い続けた2年半を振り返る / Quality and speed can be traded on.
mii3king
0
590
スパイクアクセス対策としての pitchfork 導入
riseshia
0
130
品質管理チームのEMとして大事にしていること / QA EM
nihonbuson
0
690
つくってあそぼ! ユビキタス言語作文の紹介
ndadayo
1
130
LangChainとSupabaseを活用して、RAGを実装してみた
atsushii
0
140
12/2(月)のBedrockアプデ速報(re:Invent 2024 Daily re:Cap #1 with AWS Heroes)
minorun365
PRO
2
300
突き破って学ぶコンテナセキュリティ/container-breakout-cncj-lt
mochizuki875
6
1.1k
Atelier BlueHats : Migration de l’application COBOL MedocDB de GCOS à GnuCOBOL sur GNU/Linux
bluehats
0
120
asumikamというカンファレンスオーガナイザの凄さを語る / The Brilliance of Asumikam
tomzoh
1
290
ARRが3年で10倍になったプロダクト開発とAI活用の軌跡
akiroom
0
230
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Docker and Python
trallard
40
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
880
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
We Have a Design System, Now What?
morganepeng
51
7.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
How STYLIGHT went responsive
nonsquared
95
5.2k
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 / スプレッドシート - これからもデータの活用とデータ基盤の改善を進めていく