オプティマインドにおけるDataform導入によるデータ品質向上への取組事例
株式会社オプティマインド / 柏原良太
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
10名以下 | 2022年12月 | B to B |
ツールの利用規模 | 10名以下 |
---|---|
ツールの利用開始時期 | 2022年12月 |
事業形態 | B to B |
アーキテクチャ
アーキテクチャの意図・工夫
各種データをBigQueryに集約し、その上で解析用途毎にデータモデルを設計し、それらの変換をDataformでデータレイヤーの考え方を取り入れつつ実行しています。変換のトリガーはデータモデルごとに必要に応じてスケジューリングされており定期的に更新が走ります。このスケジューリングの仕組み自体もDataformの枠組みで行うことができるため、データを解析するエンジニアは基本的にBigQuery周りだけで作業のほとんどを完結できます。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
有用なデータが散在しており、それらのデータを組み合わせて行うアドホックな分析などの際には開発者が各チームに情報収集を行いアクセス方法を確認し、ローカルなどから適宜アクセスする形で利用していました。そのため解析に関する作業が容易に属人化し、各種解析モデルの一貫性の担保や組織としてのナレッジ蓄積に対して課題がありました。
どのような状態を目指していたか
上記のような課題感から以下を達成するための手段を探していました。
- 共通として切り出せるデータの前処理のモジュール化
- ステップ毎のデータ整合性の担保
- 容易にレビューできチームとして開発できる体制
比較検討したサービス
dbt
比較した軸
コストやUI/UXの観点でスモールスタートが切りやすいシステムであること。
選定理由
BigQueryのエコシステムとして位置付けられているため無料であり、GoogleCloudConsoleから簡単に始めることができた点。
導入の成果
改善したかった課題はどれくらい解決されたか
BigQueryのRemoteFunctionsを用いた処理の共通化やAssertionによるデータレイヤー単位での整合性の担保、またそれらのレビュー体制を構築することで課題に関しては十分に改善されたと思います。
どのような成果が得られたか
BigQuery周りのエコシステムを活用しつつ簡易かつ高速にスタートを切ることができました。
データレイヤー単位で整合性を担保することができるので問題が起きた際の検知速度が上がり、最終結果に不整合のあるデータが混じるリスクも低減できました。
導入時の苦労・悩み
2022年当時はチーム開発として必要な機能が揃っているとは言い難かった。
※当時の話はこちらにまとめました。(https://zenn.dev/optimind/articles/56a40ed34b7268)
導入に向けた社内への説明
上長・チームへの説明
無料から始められることもあり上長へは特段説明はしていません。
チームに対しては、当時dbtとの比較をした上で説明をしたが以下の観点でDataformで始める判断としました。
- 無料で始められること
- 初期の機能としては不十分かもしれないが、CLIも提供されているためある程度柔軟に対応できるであろうこと
活用方法
必要に応じて既存データモデルのアップデート行ったり、適宜データ変換の依頼があるたびにスモールな内容であればDataform上でサッと作る場合があります。
よく使う機能
- Assertion機能によるテスト
- Workflow機能によるスケジュール実行
- CompiledGraph機能によるデータ変換プロセスのチェック
ツールの良い点
- BigQueryの周辺機能として非常に簡易に使い始めることが可能
- 上記の恩恵でGemini in BigQueryなどの機能を活用することができる
ツールの課題点
- 事例ドキュメントがweb上に豊富にあるわけでは無い点
- コミュニティの盛り上がりや周辺機能の充実度もdbtの方が高い印象
ツールを検討されている方へ
2022年当時はスケジュール実行はCloudSchedulerなどと組み合わせる必要があったが、そのあたりの必須機能が揃ってきており、ある程度のことはDataformだけで完結できるようになってきたように思います。
やはりよく比較されるdbtとでは周辺ツールの充実度などで負ける印象ですが、自分自身の用途に対して必要十分な機能が揃っていると判断した上で簡易にELTツールを導入したい方にはお勧めします。
今後の展望
Gemini in BigQuery(※)などのBigQuery周辺の別機能の恩恵にあずかれる点も非常に良い点だと思っていて、BigQueryとの親和性の高さを活かした強いアップデートが今後も行われることを期待しています。
※ただし2025年より有料化するとのことなので、その点は注意が必要です。(https://cloud.google.com/bigquery/docs/release-notes#November_14_2024)
株式会社オプティマインド / 柏原良太
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社オプティマインド / 柏原良太
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法