Slide 1

Slide 1 text

Copyright© M&Aクラウド ある日PHPerがベンチャー企業の データ基盤を作ることになったら PHPerKaigi2023(勝手に)リジェクトカンファレンス M&Aクラウド プロダクト開発部 つざき

Slide 2

Slide 2 text

Copyright© M&Aクラウド 2 自己紹介 つざき @820zacky - アプリケーションエンジニア / 見習いデータエンジニア - Laravel + Nuxt.js / Svelte - SIer → Web受託開発 → M&Aクラウド

Slide 3

Slide 3 text

Copyright© M&Aクラウド イントロダクション - 想定視聴者 - PHPer - データ基盤は詳しくない - 話すこと - データ基盤とはなにか - 導入にあたっての課題とどう対処したのか - 実際どんなデータ基盤を作ったのか - 話さないこと - データ基盤の詳細の話 - データ基盤の詳しい設計の話 - データ基盤に関わる組織の話 3

Slide 4

Slide 4 text

Copyright© M&Aクラウド 目次 - イントロダクション - 背景 - M&Aクラウドのデータ - M&Aクラウドにおけるデータの課題 - データ基盤構築の課題と対処法 - DWHがわからない - DWHの技術選定がわからない - DWHの設計がわからない - ETLツールがわからない - dbtがわからない - BIツールがわからない - 構築したデータ基盤 - 構成 - メリット - 今後の展望 - まとめ 4

Slide 5

Slide 5 text

Copyright© M&Aクラウド イントロダクション 5 PHPでアプリケーション開発たのしいなぁ! つざき

Slide 6

Slide 6 text

Copyright© M&Aクラウド イントロダクション 6 データ基盤作るのやりますか? CTO荒井

Slide 7

Slide 7 text

Copyright© M&Aクラウド イントロダクション 7 やります つざき

Slide 8

Slide 8 text

Copyright© M&Aクラウド イントロダクション 8 ということで 2022年7月からデータ基盤の立ち上げを 手伝うことになりました (※スライド無駄遣いしてすみません)

Slide 9

Slide 9 text

Copyright© M&Aクラウド データ基盤導入の背景 9

Slide 10

Slide 10 text

Copyright© M&Aクラウド - 2つのプラットフォームを運営 - M&Aのプロフェッショナルによる M&A・資金調達のサポートするサービス - プラットフォームとは独立的に業務 - プラットフォームのユーザーではない企業も対象 背景 - M&Aクラウドのデータ 10 M&Aクラウド 資金調達クラウド

Slide 11

Slide 11 text

Copyright© M&Aクラウド 背景 - M&Aクラウドのデータ 11 プラットフォーム以外にも M&Aアドバイザリーや営業などの様々な業務があり様々なデータがある MySQL、 Salesforce、Googleスプレッドシート、各種 SaaSなどにデータが分散 M&Aクラウドのデータ例

Slide 12

Slide 12 text

Copyright© M&Aクラウド 背景 - データ利用の課題 12 - Redashの導入によって、ある程度のデータは横断的にSQLで分析・抽出できるようになっていた - ”Redashは、データの視覚化や分析のためのオープンソースのビジネスインテリジェンスツールです。Redashを使用すること で、SQLやNoSQLデータベース、クラウドサービス、CSVファイルなど、さまざまなデータソースからデータをクエリーして視覚 化することができます。” (ChatGPTより) - 社員がそれぞれSQLでデータ活用できるようになってHAPPYに・・・!? Redashによるデータ利用 SQLを使った ・抽出 ・集計 ・グラフ化

Slide 13

Slide 13 text

Copyright© M&Aクラウド 背景 - データ利用の課題 13 データ活用の課題 - SQLが乱立・複雑化してどういう集計をしているのかわからない - 毎回JOINしてて大変 - 各部のKGI・KPIなどの事業運営に必要な重要な数字が合ってるのかわからない - スプレッドシートへの連携が不安定 これ結構あるあるだと思います(?) Redash以外についてもいろいろ課題はありますが割愛

Slide 14

Slide 14 text

Copyright© M&Aクラウド 背景 - M&Aクラウドのデータ基盤の略歴 14 2022年 7月 データ基盤の構築を開始 CTO, 津崎, 業務委託のデータエンジニアの3名 2022年11月 データ基盤を社内公開 2022年 12月 一人目データエンジニア入社 2022年 1月 データチームのロードマップ作成 2023年 3月 データ基盤を使ったデータ活用を進行中 ←今ここ

Slide 15

Slide 15 text

Copyright© M&Aクラウド 導入の課題と対処法 15

Slide 16

Slide 16 text

Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 16 課題:データ基盤がわからない - データ基盤は、データの収集、保存、処理、管理、分析などを行うための技術的な基盤

Slide 17

Slide 17 text

Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 17 - 3層にわけてデータを扱う - データレイク層 - 多様なデータを集約する場所 - データウェアハウス層 - 加工・結合したデータを置く場所 - 中間の層 - データマート層 - 加工・結合したデータを置く場所 - ユースケースごとにデータを作成

Slide 18

Slide 18 text

Copyright© M&Aクラウド 導入の課題と対処法 - データ基盤がわからない 18 - 業務委託でデータエンジニアの方に手伝っていただいた - データ基盤の経験がある方に手伝ってもらうことで 手戻りなくデータ基盤の導入、設計ができた - データ基盤の全体像の把握で参考にしたもの - 実践的データ基盤への処方箋(ゆずたそ,渡部徹太郎,伊藤徹郎 著) - データエンジニア向け勉強会(Data Engineering Study) - https://www.youtube.com/channel/UCFde45ijA-G9zs7s2CuftRw

Slide 19

Slide 19 text

Copyright© M&Aクラウド 導入の課題と対処法 - DWHがわからない 19 課題:DWHがわからない - DWH(データウェアハウス)とは - 様々なシステムからデータを集めて整理する、データの「倉庫」 - データ分析特化のデータベース - SQLでデータ抽出・集計できる 特徴 - 大規模データを蓄積できる - 大規模データを分析できる - データの読み込みに特化 代表的な製品 - Google BigQuery - Redshift - Snowflake

Slide 20

Slide 20 text

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の比較表

Slide 21

Slide 21 text

Copyright© M&Aクラウド 導入の課題と対処法 - ETLツールがわからない 21 課題:ETLツールがわからない - ETLとは - Extract 抽出 - Transform 変換 - Load ロード - データソース→BigQuery のデータ転送をさせたい Troccoという国内SaaSを採用した 技術選定のポイント - インフラのメンテコストが少ないこと - 運用コストが低いこと - GUIで設定できる - 他のツール:yamlとかPythonを書く必要がある - embulkのyamlも書き出せる

Slide 22

Slide 22 text

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 でデータカタログを生成 - メタデータを閲覧できるドキュメント

Slide 23

Slide 23 text

Copyright© M&Aクラウド 導入の課題と対処法 - BIツールがわからない 23 課題:BIツールがわからない - BI(ビジネスインテリジェンス)とは - 組織がよりデータに基づいた意思決定を行えるように支援するツール - データをグラフ化してレポート作成 - 代表的なもの - Tableau - Microsoft Power BI - Google Looker Studio (Data Potalから名称変更) Google Looker Studioを採用 - (結局スプレッドシートが便利すぎるのでスプレッドシートも BIとして活用) 技術選定のポイント - BigQueryと連携しやすい - 無料なところ - 他のツールは何百万円 /年 くらいかかる

Slide 24

Slide 24 text

Copyright© M&Aクラウド 導入の課題と対処法 - dbtがわからない 24 参考: - dbt とは何をするツールなのか? | FLYWHEEL Tech ブログ - 「はじめてのdbt活用~DWH内のデータ整備が楽になる!~」を開催しました #dbt - dbt™ CLIでデータ開発に自動テストを導入した話 - データエンジニア界隈で有名な dbtまとめ - dbt Cloudで始めるデータパイプライン構築の dbt入門 - dbtでmodelやsourceのベースとなるコードを自動で生成してくれる package「codegen」を試してみた

Slide 25

Slide 25 text

Copyright© M&Aクラウド 構築したデータ基盤 25

Slide 26

Slide 26 text

Copyright© M&Aクラウド 構築したデータ基盤 - 構成 26 構築したデータ基盤

Slide 27

Slide 27 text

Copyright© M&Aクラウド 構築したデータ基盤 - 得られたメリット 27 データ基盤の課題が解決された - SQLが乱立・複雑化してどういう集計をしているのかわからない - データ基盤で秩序がもたらされた - 毎回JOINしてて大変 - データ基盤側でよくJOINされるテーブルをあらかじめJOINしたデータマートをデータチームが作成 - 各部のKGI・KPIなどの事業運営に必要な重要な数字が合ってるのかわからない - データ基盤で秩序がもたらされた - データマートをデータチームが作成中 - スプレッドシートへの連携が不安定 - スプレッドシートのコネクテッドシート機能でデータ基盤と連携

Slide 28

Slide 28 text

Copyright© M&Aクラウド 今後の展望 28

Slide 29

Slide 29 text

Copyright© M&Aクラウド 今後の展望 29 - データ基盤を使って正しい数字を出していく - 各部のKGI・KPIを全てデータ基盤で正確に計算 - 社内でのデータ利用の推進 - データカタログの充実 - 便利なデータマートの充実 - SQLなしでデータを分析できるような仕組みづくり - 利用できるデータを増やして分析の幅を広げる - ユーザーの流入から M&Aの成約に至るまでのあらゆるデータを統合して分析できるようにする

Slide 30

Slide 30 text

Copyright© M&Aクラウド まとめ 30

Slide 31

Slide 31 text

Copyright© M&Aクラウド まとめ 31 - ある日PHPerがベンチャー企業のデータ基盤を作ることになったら・・・ - 未経験でわからないことだらけ - 経験のあるデータエンジニアと一緒に基盤構築したことで無事データ基盤構築ができた - 山﨑さん ありがとうございます (https://www.linkedin.com/in/profile-yohei-abo/) - スモールに始められて運用の人的コストも低いような技術選定をした - DWH: BigQuery - ETL : dbt, Trocco - BI : Google Looker Studio / スプレッドシート - これからもデータの活用とデータ基盤の改善を進めていく