ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
PHPerKaigi2023(勝手に)リジェクトカンファレンス M&Aクラウド プロダクト開発部 つざき
Copyright© M&Aクラウドある日PHPerがベンチャー企業のデータ基盤を作ることになったらPHPerKaigi2023(勝手に)リジェクトカンファレンスM&Aクラウド プロダクト開発部 つざき
View Slide
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クラウドイントロダクション5PHPでアプリケーション開発たのしいなぁ!つざき
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クラウドのデータ10M&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クラウドのデータ基盤の略歴142022年 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製品を使ったらいいかわからないRedshiftRedshiftServerlessSnowflake BigQueryクラウドベンダ ◯AWS(弊社ですでに使っている)◯AWS(弊社ですでに使っている)◯AWSも選べる(弊社ですでに使っている)△GCP(弊社ではマルチクラウドになってしまう)情報収集のしやすさ △ ×できたてのサービスのため△ ◎日本語情報が多いクラスタ管理 ×自分で管理◯不要△コンピュートリソースを自分で決めなきゃいけない◯不要BI・データ連携 ◯ ◯ ◯ ◎Google製品(スプレッドシート/LookerStudio)と相性がいい料金体系 ×クラスタ台数で課金◯分析に使用した時間で課金△コンピュートリソース単位◎分析に使用したデータ量シェア(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 @yuzutas0https://yuzutas0.hatenablog.com/entry/2018/12/02/180000- dbtのベストプラクティスに習い 4層で設計- 参考: How we structure our dbt projects - dbthttps://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 / スプレッドシート- これからもデータの活用とデータ基盤の改善を進めていく