株式会社ビットキーのdbt Cloud導入事例
レビュー投稿日の情報になります
株式会社ビットキー / Takuya Mikouchi
チームリーダー / データサイエンティスト / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
最終更新日投稿日
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
Team | 10名以下 | 2022年10月 | B to B B to C D to C |
利用プラン | Team |
---|---|
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2022年10月 |
事業形態 | B to B B to C D to C |
アーキテクチャ
アーキテクチャの意図・工夫
- ワークフローの実行はdbt Cloudの機能を採用しています
- 定時ワークフローがたまに失敗することがあるので、Cloud Run Functions経由でリトライ機構を実装しています
- SQLの入力規則チェックやテストのカバレッジ計測をGitHub Actionsで行っています
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
- 前提として、ビットキーは2019年よりDWH製品としてBigQueryを活用しています
- dbt Cloudを導入した2022年には、BigQueryのコンソール上で設定したスケジュールクエリが200を超えており以下のような課題が発生していました
- テーブル間の依存関係の把握が辛い
- BigQueryのスケジュールクエリだとパイプラインになってないので、1個クエリでエラーが発生していたときに、関連するテーブルの復旧作業が1手で出来ないので辛い
- その他Opsの部分でも以下のような課題が発生していました
- Gitでのクエリ管理が徹底できない
- クエリRVを自然なフローで実施できない
どのような状態を目指していたか
- 1つのコマンドでデータパイプラインが実行できる状態
- かつスケジュール設定できる状態
- テーブル間の依存関係が継続的に可視化されている状態
- GitHubでクエリ管理がされていて、かつチームメンバ間のクエリRVが実装プロセスに組み込まれている状態
比較検討したサービス
- dbt Cloud(SaaS版)
- dbt Core(OSS版)
- Dataform
比較した軸
- 料金コスト
- 機能の充実度やかゆいところに手が届くか
- 当時Dataformはワークフローの分離ができなかったなど
- ワークフローの実行環境がマネージドであること
- パッケージ開発の活発さ
- ツールのコミュニティのコミュニケーションの活発さ
- Modern Data Stackな世界観との親和性
導入の成果
改善したかった課題はどれくらい解決されたか
- 想定していた課題は、すべて解決されました
- テーブル間の依存関係(データリネージ)に関しては、データセットやテーブルの命名まで含めた設計、データモデリングの設計もセットで実施するとより便利さを実感できそうです
どのような成果が得られたか
- データアウトプットのアジリティが大きく向上しました
- テーブル間の依存関係の可視化やIDE上での検索であったりが可能になったので、入社直後からデータアナリストやアナリティクスエンジニアが成果を出しやすくなりました
- テストをyaml内で簡単に書けるのでデータ基盤の信頼性が向上しました。特に予期しないカテゴリデータが増えた際に気づけるので、認識できていないプロダクトの仕様変更に気づけるところに良さを感じています
導入に向けた社内への説明
上長・チームへの説明
- 比較する際に重要視していた点を星取表に整理し上長に説明しました
活用方法
- チーム2名でデータパイプラインの運用保守を行っています
- 開発作業はdbt Coreで行い、ワークフローの設定や実行はdbt Cloudで行っています
- ワークフローの実行結果がslackなどに連携されるので、毎日それを確認しています
よく使う機能
- ワークフローの設定・定期実行
- ローカルでのコマンド実行(dbt run, dbt build, dbt testなど)
- incremental modelによるデータ更新
- GitHubとのインテグレーション
- データリネージの生成
- dbt-osmosisというライブラリを用いたドキュメント生成の省力化
- dbt exposureを用いたダッシュボードなどレポート先のデータリネージ管理
- elementaryというパッケージを用いたデータ品質の可視化
ツールの良い点
- data build toolのデファクトスタンダードであり、有志のドキュメントが豊富
- dbt Cloudを導入することで、基本的なワークフローの実行であればデータアナリストでも実現できるくらいには直感的に動かせるツールです。運用面でも同様です
ツールの課題点
- アナリティクスエンジニアリングのベストプラクティスとされている活用方法を目指していくと、エンジニアとしてのスキルや感度が求められる部分はある
- 数ヶ月に1度くらいの頻度でワークフローが落ちることがあるので、リトライ機構が必要だが、dbt Cloud単体では実現できない
- dbt CloudのIDEの動作がもっさりしている(なのでdbt Coreを併用しVisual Studio Code上で開発している)
- model名の重複がフォルダをまたいでも許されないところ
- データカタログとして運用するにはdeveloperプランのViewerアカウント数では足りず、hostingする必要がある。
ツールを検討されている方へ
- データ分析基盤の運用課題の解決の中心を担ってくれるツールで、基本的に期待値を満たしてくれます。dbt Cloudを導入することで直感的に開発・運用が可能になります
- またdbt-Labsは2024年あたりからdbt Cloudの開発に力を入れている所感を受けます。今後より改善が見込めます
- 一方でBigQueryを活用されている場合、Dataformが今どこまで機能拡充されているかは気になります。要件によってはDataformで十分である可能性も大いにあります
今後の展望
dbtの導入によりデータアウトプットのアジリティが大きく向上しました。今後はデータテストの再設計やその運用の整備によりデータ品質の向上に取り組みたいと考えております。また必要に応じて開発環境と本番環境の分離やセマンティックレイヤーを用いたBI利用者の拡充にも取り組んで行きたいです
株式会社ビットキー / Takuya Mikouchi
チームリーダー / データサイエンティスト / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
よく見られているレビュー
株式会社ビットキー / Takuya Mikouchi
チームリーダー / データサイエンティスト / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法