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

[freee]マルチプロダクトでのデータ活用推進の課題とdbt Cloudの導入

Avatar for okoshi okoshi
November 06, 2025

[freee]マルチプロダクトでのデータ活用推進の課題とdbt Cloudの導入

Avatar for okoshi

okoshi

November 06, 2025

Other Decks in Technology

Transcript

  1.   2 ⼩越広⾂ プロフィール • 1.5年前までWebエンジニア • フリー株式会社中部拠点所属 • 岐⾩県下呂市出⾝

    ⽇々のお仕事 • 分析に必要なデータを収集するシステムやインフ ラの開発‧運⽤ マイブーム • ポータブルオーディオ • お酒 アナリティクスエンジニア Hiroomi Okoshi
  2.   4 Mission スモールビジネスを、 世界の主役に。 freeeは「スモールビジネスを、世界の主役に。」をミッションに掲げ、 統合型経営プラットフォームを開発‧提供し、 だれもが⾃由に⾃然体で経営できる環境をつくっていきます。 起業やビジネスを育てていくことを、もっと魅⼒的で気軽な⾏為に。 個⼈事業や中⼩企業などのスモールビジネスに携わるすべての⼈が、

    じぶんらしく⾃信をもって経営できるように。 ⼤胆にスピード感をもってアイデアを具現化できるスモールビジネスは、 今までにない多様な価値観や⽣き⽅、 新しいイノベーションを⽣み出す起爆剤だと私たちは考えています。 スモールビジネスが⼤企業を刺激し、社会をさらにオモシロク、 世の中全体をより良くする流れを後押ししていきます。
  3. 10 以下のような要因が当時の課題を引き起こしていると考えられた。 • 既存データの有無が不明確 • 膨⼤なデータソースから成るSQLの複雑化による集計テーブル変更の困難さ • 他プロダクトのデータスキーマ調査に時間を要し、プロダクトで活⽤可能なデータ集計まで進まない • データ集計環境構築の⼈材リソース不⾜

    また、dbt Coreを使って構築した既存の集計環境におけるライブラリアップデートなどの保守が、今後のボトルネッ クとなることが予想された。 要因の分析 既存のSQLやdbt Coreといったツールを活⽤できるdbt Cloudを全社的なモデリング環境に採⽤することで、データ集 計環境の統⼀とデータモデリング環境の容易な構築を実現し、課題を解決できると考えた。
  4. 12 • dbt Core資産の活⽤:既存資産を活かし、モダンデータスタックへのスムーズな移⾏と最新プラクティスの迅速な 導⼊を実現。 • GUIによる統合開発環境:dbt CloudのGUIはSQLのみでデータ変換を可能にし、モデルの依存関係可視化や迅速な エラー対応を実現。エンジニア不要でデータアナリストが迅速にデータを作成。 •

    統⼀されたツールと標準化:全社でdbt Cloudを統⼀利⽤することで、重複するデータ作成を防ぎ、分析軸の定義を 容易に。データ品質と⼀貫性が向上し、データに基づいた意思決定を促進。 • マネージドサービス:クラウドベースのdbt Cloudは、環境整備、バージョンアップ、サーバー保守が不要。迅速な 分析データ作成を可能にし、エンジニアの⼯数を⼤幅に削減。 dbt Cloudに期待すること
  5. 13 • dbt Cloudを導⼊する際は、ドキュメントを正確に理解し、ガバナンスの効いた運⽤体制を構築し、適切な契約プ ランを選定することが重要。 • 当社のデータ活⽤の要求に基づいて必要な要件を整理していくと、結果的にほぼすべての機能を網羅的に検証する 必要があった。 • 全機能の検証といっても、詳細な機能まで検証するわけではないため、dbt

    Labs社が公開しているThe dbt platform features (※) に記載されている機能の粒度で、使⽤感やパフォーマンスを記録しながら検証を進めた。 ◦ 当時β版として提供されていたものに関しても使えるなら使いたいと考えて検証している。 dbt Cloud導⼊における考慮事項 ※ https://docs.getdbt.com/docs/cloud/about-cloud/dbt-cloud-features
  6. 16 • 各機能の検証⽬的を明確にする。ドキュメントを参考に、どう使⽤したいかという意思を交える必要があり、ド キュメント通りの動作確認だけでは意味がない。 • 例: ◦ dbt Cloud CLIの検証⽬的は、「dbt

    Cloud CLIの基本的な操作性と、dbt Coreとの使⽤感の違いを検証する。」 ◦ Enable Continuous Integrationの検証⽬的は、「dbt Cloudの継続的インテグレーション機能が正常に動作し、 コードの変更が⾃動的にテストされ、デプロイ前の品質保証が適切に⾏われることを確認する。特に、変更前 後の差分確認機能が期待通りに機能し、意図しない変更が本番環境に影響を与えないことを検証する。」 要求と利⽤シナリオを明確にする
  7. 17 • 検証前の段階: ドキュメントを参考に実現⼿順を明確化し、実現可能性を判断した上で記⼊完了。 • 検証中の記録: ◦ 実際の⼿順や⼊⼒を詳細に記録し、スクリーンショットを検証ドキュメントに添付。 ◦ dbt

    Cloudの頻繁な更新に対応するため、過去の操作と現在の状態の変化を把握。 ◦ サポートへの問い合わせをスムーズにし、記憶への依存を排除。 • 記録の重要性: ◦ ⾮常に⼿間がかかるが、検証後の議論における根拠構築に⼤きく貢献。 ◦ APIトークンなどの機密情報を含む場合は、スクリーンショットのマスクなどの配慮が必要。 ⼿順を明確にする
  8. 18 期待される結果は、機能によって主に以下の観点でどれか⼀つ、あるいは複数を組み合わせて設定している。 • 機能の正確な動作: 各機能が意図した通りに、エラーなく正しく動作すること。 • パフォーマンス: 処理速度や応答時間など、システムが効率的に動作し、ユーザーがストレスなく利⽤できること。 • 使いやすさ‧操作性:

    ユーザーが直感的に操作でき、既存のワークフローからの移⾏がスムーズであるかなど、ユー ザーエクスペリエンスを考慮。 • ⾃動化と効率化: ⼿作業を削減し、プロセスを⾃動化することで、開発や運⽤が効率的に進められること。 • 品質保証とリスク管理: 意図しない変更による問題を防ぎ、システムの品質を維持すること。 これらの基準は、単に機能が利⽤可能であるかだけでなく、実際のビジネス運⽤においてどれだけ効果的で、安全 で、効率的であるかを評価する意図がある。 期待される結果を設定する
  9. 19 • 全体評価の焦点: ユーザー視点での使いやすさやワークフローへの適合性を重視した「使⽤感」と、技術的な処理 速度や効率性を重視した「パフォーマンス」に焦点を当てて記述。 • 機能検証結果の記述: 単なる合否だけでなく、使⽤を通じて得られた知⾒や応⽤アイデアも詳細に記述。 • パフォーマンス評価基準:

    具体的な時間基準は設けず、作業に⽀障のないレベルであれば「問題ないレベル」と評 価。 • 外部SaaS連携項⽬: 「BigQueryの性能に依存するため問題なし」といった形で評価。 • 内部メカニズムの考察: 公式ドキュメントには明記されていないが、使⽤経験から推測される内部メカニズムにつ いても考察。 検証結果を記⼊する
  10. 24 スタースキーマの考え⽅として「何を使って」「何を知りたいのか」を直感的に理解し、迷わず正確にデータを分析で きるようにする⼯夫 • SQLコメントで「ディメンション参照キー」と「メトリクス」を区別し、スタースキーマの意図を実装レベルで明 確化。 • ドキュメントに結合例を提⽰し、ディメンションとファクトの関係を理解しやすくする。 「個⼈の職⼈技」に頼るのではなく、「誰でも理解し、安⼼して使える共有資産」にするための仕組みづくり •

    命名規則、主キー制約、外部キー参照、粒度の明確化の4つの柱で属⼈化を防⽌。 • 履歴管理のため、DWHのgitリポジトリにMarkdownでドキュメントを格納。 • 開発プロセスにドキュメント整備を組み込み、仕様のずれを防⽌。 • ドキュメントとSQLの仕様の⼀致性をAIで確認しやすくし、ドキュメントの正確性を維持。 モデリングする上で意識しているプラクティス
  11. 28 • マルチプロダクト環境で、統⼀されたモデリング環境構築のためdbt Cloudを導⼊した。 • dbt Cloud導⼊により、エンジニアの負担軽減とデータモデリング環境の改善を実現。 • ⼊念な検証の結果、dbt Cloudはマルチプロダクト環境におけるデータ統合と効率的な運⽤に有効であることを確

    認。 • データの品質と⼀貫性が向上し、データに基づいた意思決定を促進できるようになった。 • 今後はデータデリバリーの課題解決と利⽤者拡⼤を⽬指し、アジリティの維持を⽬指す。 まとめ