[dbt×Fivetran×SnowflakeによるModern Data Stack~データ活用までの準備を楽々に~] にてdbt概要の話をしました! #dbt
2022年6月9日(木)に弊社が開催したウェビナーdbt×Fivetran×SnowflakeによるModern Data Stack~データ活用までの準備を楽々に~にてdbt概要について話をしました。
このブログでは、ウェビナーでお話しした内容をさくっとご紹介します。
本イベントのメインイベントであるdbt×Fivetran×SnowflakeによるModern Data Stackについてはさがらが記事を書いております!
スライド
dbtが登場するまでのデータ分析基盤の流れ
ざっくりと2010年代はDWHの性能やら金額やらの問題でETL(データをDWHにロードする前にデータの変換を行なっていた)が主流でした。
またざっくりと2020年代あたりからデータ分析基盤周りのSaaSが増えてきて、SaaSを組み合わせてデータ分析基盤を構築しようと言うMDS(Modern Data Stack)という考えが浸透してきました。
そんな中、DWHがクラウド化したり性能が向上したり、またFivetranなどのデータインジェストツールの登場でEとLも自動化されたりと、時代はETL(データソースから抽出したデータをそのままDWHにロードする)にシフトしました。
ですがどうでしょう?データモデリングの手法は、独自開発のコード+ワークフロー管理ツールか、もしくは、GUIでポチポチの二通りのみで、実はETLの時代から進化していません。
この二つの従来のデータモデリングの手法では、データの民主化の観点から大きな問題があります。
従来のデータモデリングの問題点
- 欲しいデータがすぐに手に入らない
- 手に入れたデータの信頼性がない
この他にも難しい処理はPython頼みだったり、ELTになってデータにアクセスしやすくなり野良SQLが大量発生したりと、DWHが魑魅魍魎が棲む仮想の箱になる要因はたくさんあります。しかし、データの民主化の観点から大きな問題は上記の二点でしょう。
dbtは何をしようとしている?
ここで犍陀多の前に垂らされる蜘蛛の糸の如く、野良SQL地獄の管理者の前に垂らされるSaaSがdbtなのです!!
dbtは以下の二つのポリシーを掲げてデータの民主化を実現します:
- SQL(のSELECT文)を知っていればデータパイプラインを開発できる
- ソフトウェアエンジニアの手法でデーターパイプラインを開発できる
- gitと連携してバージョン管理ができる
- 自動テストでユニーク制約やnot null制約をテストできる
- ドキュメンテーション機能でその処理がどのように何のために行われているのかを残すことができる
- テンプレート言語のJinjaが組み込まれているので、SQLだけでは難しい処理をプログラム的に処理できる
dbtを導入すれば、従来のデータモデリングの現場で起こっていた問題を解決することができるというわけなのです。
まとめ
みなさんも一緒にデータカオスにさよならして、データの民主化にこんにちはしましょう!