PR:この記事にはアフィリエイトリンクが含まれます。
dbtは、データウェアハウス内のデータをSQLで変換し、再利用しやすいモデルとして管理するツールです。処理のつながりや品質チェックもプロジェクトに残せるため、分析用テーブルの更新を担当者の記憶に頼る場面を減らせます。
初めて学ぶと迷うのは、SQL以外に何を覚えれば実務で使えるのか、というところ。モデルの分け方やテストに加え、Gitでの共同作業も扱う本なら、知識を使う場面が見えてきます。
全体像
4冊とも、変換SQLとその前後にある作業を取り上げています。SQLの基本から始める本、BigQueryの例を掘り下げる本、CIと継続的デリバリーや発展機能まで扱う本。力点はそれぞれ異なります。
| 書名 | 実例の軸 | 主な内容 |
|---|---|---|
Data Engineering with dbt | Snowflake、dbt Cloud、GitHub | SQL基礎、モデル、テスト、Jinja、CI |
Analytics Engineering with SQL and dbt | BigQuery、dbt Cloud、GitHub | モデリング、増分モデル、スナップショット、ドキュメント |
| Unlocking dbt 第2版 | dbt Platform、オープンソースdbt | SQL・Pythonモデル、CIと継続的デリバリー、Mesh、Semantic Layer |
Fundamentals of Analytics Engineering | Airbyte Cloud、BigQuery、dbt Cloud、Tableau | 取り込みから可視化、品質、ガバナンス |
紙版か電子版か、販売時期はいつかによって価格は変わります。購入時は販売ページの参考価格を確認してください。発行年やページ数も手掛かりになりますが、普段使うウェアハウスの実例があると、学んだ内容を業務に重ねやすくなります。
変換モデルの流れ
dbtの中心はSQLで書くモデルです。たとえば、注文データから売上を集計する処理をモデルとして保存し、別のモデルから参照します。結果のテーブルやビューを人手で何度も作る手間が減ります。
まず元データの列名や型をそろえ、次に複数のソースを結びます。最後に、売上や顧客など分析で使う単位へまとめる。段階を分けると計算の意図をたどりやすくなります。
モデル間の参照を明示すれば、データと処理のつながりも見えてきます。途中のモデルを変えたときに影響範囲を確認しやすく、失敗した箇所も探しやすい。小さく分けて管理する利点です。
SQLモデルの設計
大切なのは、SQLを短くすることより出力の意味を明確にすることです。注文一件を一行にするのか、商品明細一件を一行にするのか。粒度が曖昧だと、売上を二重に数える問題につながります。
たとえばstg_ordersで元データの列名を整え、int_order_itemsで注文と商品を結び、fct_ordersで注文単位の指標をまとめます。名前から用途を推測できるので、次の処理をどこに足すかも判断しやすくなります。
テーブルとして保存するか、ビューとして参照するかも設計の一部です。更新頻度やデータ量、利用者の待ち時間を考えて決めます。増分モデルは毎回すべてを処理しない方法ですが、遅れて届くデータや重複の扱いも詰めておきたいですね。
テストが守るもの
データテストでは、SQLの実行結果が想定した条件を満たすかを確かめます。注文IDが一意であること、重要な列にNULLがないこと、参照先の顧客IDが存在すること。こうした前提をコードに残すのが基本です。
値が決められた候補に収まるかを調べるテストもあります。注文状態が「受付」「発送」「取消」に限られるなら、想定外の値を検知できます。担当者の記憶に頼らない品質管理です。
業務固有の条件は、独自のSQLテストで表せます。たとえば「返金後の売上が正の値になっていないか」という確認。テストを増やしすぎると例外データのたびに処理が止まるため、何を異常とみなすかチームで決めておきましょう。
Snowflakeで学ぶ
Roberto Zagni著の『Data Engineering with dbt』は、2023年6月刊の初版で578ページ。SQLの基礎から始まり、Snowflake上でdbtプロジェクトを組み立てていきます。
ステージング、参照用の中間層、データマートへとモデルを分け、ディメンショナルモデルも扱います。SQLを書き始めた人が、単発クエリを分析基盤へつなげる流れを順に学べる構成です。
データテストやJinjaマクロ、dbtパッケージ、マテリアライゼーションに加え、GitHubのブランチやプルリクエストも範囲に含まれます。CIやデプロイの自動化、ドキュメント生成まで学べるので、チーム開発の流れもつかめます。
BigQueryの実例
『Analytics Engineering with SQL and dbt』はRui Machado、Helder Russa著。2023年12月刊の324ページで、BigQuery、dbt Cloud、GitHubによる分析エンジニアリングを扱います。出版社は中級から上級向けと案内しています。
データモデリングやSQL分析から、ソース定義、YAML設定、モデル構成まで学べます。テーブル、ビュー、エフェメラル、増分モデル、スナップショットも取り上げ、データ量や履歴の要件で実装がどう変わるかを追います。
JinjaやSQLマクロ、dbt_utils、テスト、ドキュメント生成、ジョブとデプロイも範囲です。BigQueryを使う中級から上級の読者には、この本が合います。増分更新やスナップショットを具体的に扱う点も実務に結びつきます。
運用まで扱う第2版
Dustin Dorsey、Cameron Cyr著の『Unlocking dbt』第2版は、Apressから2025年10月に発行された474ページの本です。dbt Platformとオープンソース版の両方を扱います。
SQLモデルのほか、Pythonモデル、データモデリング、Jinjaマクロ、スナップショット、フックも取り上げます。テストやドキュメント、dbt Catalogまで含み、本番運用に必要な仕組みを幅広く押さえています。
CIと継続的デリバリー、デプロイ、バージョン管理を扱い、dbt MeshやSemantic Layerといった発展トピックにも触れます。dbtの基礎を学んだあと、チーム運用や新機能を知りたい人にすすめやすい内容です。
分析基盤を通す本
Dumky De Wilde、Fanny Kassapian、Jovan Gligorevicら7名による『Fundamentals of Analytics Engineering』は、2024年3月刊の初版で332ページ。dbtを含む分析基盤全体を扱います。
実例はAirbyte Cloudでのデータ取り込みから、BigQueryとdbt Cloudでの変換、Tableauでの可視化まで続きます。SQL最適化、データモデリング、データ品質、ガバナンスも学べるため、基盤の中でdbtが担う役割を広い範囲から確認できます。
Gitによる共同開発やレビュー、CIと継続的デリバリー、自動化も取り上げます。データアナリストやデータエンジニアが取り込みから可視化まで学ぶ際に役立つ一冊です。dbtの設定を詳しく掘り下げる本とは扱う範囲が異なります。
結論
初めてdbtを学ぶなら、SQLの基礎からモデル、テスト、GitHub連携まで追える『Data Engineering with dbt』をおすすめします。Snowflakeの実例を使い、学んだ内容を小さなプロジェクトで試せます。
SQLに慣れていてBigQueryを使う人には『Analytics Engineering with SQL and dbt』が具体的です。dbt PlatformとOSSの運用、継続的デリバリーやMeshまで学ぶなら『Unlocking dbt』第2版、取り込みから可視化まで知るなら『Fundamentals of Analytics Engineering』を選んでください。
担当業務で困っているのがモデル設計か、テストか、チーム運用かを基準にすると、本の内容を仕事に結びつけやすくなります。掲載されているモデル構成を自分のデータで再現することが、読んだ知識を実務に移す近道でしょう。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。




