読み方 : ディービーティー

dbt【data build tool】

dbtとは?

データウェアハウス上でデータの変換処理を管理するオープンソースソフトウェア。2016年にdbt Labs社が公開し、SQLを用いた変換処理の記述と実行管理を担う仕組みとして、データエンジニアやアナリストの間で普及している。
dbtのイメージ画像

企業が収集する販売履歴や顧客情報、アクセスログといったデータは、そのままでは分析に使いにくい場合が多い。表記の揺れの統一、複数テーブルの結合、不要な列の除外など、分析に適した形へ加工する作業が必要になる。従来はETLツールや手書きのSQLスクリプトで対応することが多く、処理の順序や依存関係の管理が煩雑になりがちであった。dbtはこうした変換処理をSQLで記述し、実行順序や依存関係をツール側が自動的に解決する。

dbtでは、変換後のテーブルやビューを「モデル」と呼ぶ。モデルはSELECT文で定義し、モデル間の依存関係を設定すれば、dbtが適切な順序でデータウェアハウス上に作成する。処理はdbtを動かすマシンではなく、BigQuerySnowflake、Redshiftといったデータウェアハウス側で実行される。Jinjaテンプレートエンジンを採用しており、変数やマクロSQLに組み込んで処理を再利用できる。

Gitなどのバージョン管理ツールとの連携も想定した設計になっており、変換ロジックをコードとして履歴管理できる。誰がいつ何を変更したかを追跡でき、チームでの共同作業にも向いている。加えて、重複データ欠損値、主キーの一意性などを自動検査するテスト機能も備え、データ品質の維持を支援する。ドキュメント生成機能もあり、データ定義をブラウザ上で参照できる形式で自動出力できる。

提供形態はコマンドラインで動作する無償のオープンソース版「dbt Core」と、GUI操作画面や実行管理機能を備えた有償のクラウドサービス「dbt Cloud」の2種類がある。クラウドデータウェアハウスの普及とともに、変換処理を後工程で行う「ELT」(Extract/Load/Transform)という考え方が広まり、dbtの採用も拡大した。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。