Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ある日PHPerがベンチャー企業のデータ基盤を作ることになったら

 ある日PHPerがベンチャー企業のデータ基盤を作ることになったら

ある日PHPerがベンチャー企業のデータ基盤を作ることになったら

PHPerKaigi2023(勝手に)リジェクトカンファレンス
M&Aクラウド プロダクト開発部 つざき

y-tsuzaki

March 13, 2023
Tweet

More Decks by y-tsuzaki

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide