Timee Product Team Blog

タイミー開発者ブログ

dbt Coalesce 2024 のKeynote「Innovating with dbt」現地レポート

2024年10月7日から10日(現地時間)にかけて、dbt Coalesce 2024がラスベガスで開催されています。

私たち株式会社タイミーからは、4名が現地参加しました (※)。 今回は、カンファレンスの最初のKeynoteについてご紹介したいと思います。

このKeynoteでは、dbtのビジョンや今後の新機能リリースに関する熱いトピックが多く取り上げられ、非常に刺激的な内容となりました。

以下がアジェンダです。


ここからはKeynoteのレポートをお届けします。

発表内容とその他を切り分けるため弊社メンバーの今回の発表に対するコメントや確認した内容はこのマークアップスタイルで表記します。

イントロ

2024年のdbt Coalesceには、世界中から2000人以上の参加者がラスベガスに集まり、オンラインでは8000人もの方が参加していました。分析エンジニアやデータエンジニアはもちろん、アナリスト、CDO、財務、マーケティング、プロダクト担当者など、さまざまな役割を持つ人々が一堂に会し、dbtのコミュニティの成長を感じました。

既に5万以上のチームが本番環境でdbtを利用しており、毎日1350万回もの実行が行われ、過去1年間で49億ものモデルが構築されているそうです。

データ変換の課題が解決されつつある一方で、品質やオーナーシップ、そしてステークホルダーのリテラシーといった新たな課題が浮上しています。特に、データシステムをソフトウェアシステムと同様に扱う必要性がますます強調されていることが印象的でした。

dbtは、ソフトウェアエンジニアリングのベストプラクティスを取り入れた「ADLC(Analytics Development Lifecycle)」という新しい概念を提案し、分析の全過程をカバーするエンドツーエンドのワークフローを提供しています。このアプローチが、今後どのようにデータ活用を進化させていくのか、とても楽しみです。

画像はhttps://www.getdbt.com/resources/guides/the-analytics-development-lifecycleより抜粋

新機能の紹介

今回の Keynote では dbt Cloud の新機能として dbt Copilot、 Advanced CI、ビジュアルエディティング、クロスプラットフォーム連携などが紹介されました。

dbt Cloud はオーケストレーションやオブザーバビリティ、カタログやセマンティクスの機能を持った Data Control Plane と説明されていました。

今回発表された新機能も Data Control Plane の一部とのことで、抜粋しながら紹介していきたいと思います。

画像はhttps://www.getdbt.com/blog/coalesce-2024-product-announcementsより抜粋

dbt Copilot

LLMはコード作成に優れており、データワークを大幅に簡素化できる可能性がある。dbt Copilotは、モデル、テスト、メトリクス、ドキュメントなどを支援してくれます。

ログ分析による根本原因分析、クエリプロファイルの分析と改善の提案によるコスト削減、ビジネス上の質問などを行うための自然言語インターフェースの提供など、さまざまな機能を持つチャット画面も追加されます。

  • OpenAIのAccesskeyを登録することで利用が可能になるそうです。

dbt開発に慣れ親しんでいないメンバーがこれを使ってすぐに開発者になることは難しそうですが、これまでdbt開発をしていたメンバーがアシスタントとして並走してもらう形で活用することで、開発スピードが向上させられそうです。

Visual Editing Experience

  • NoCodeでブロックを繋げるだけでdbtモデルを作成可能となる機能が発表されました。

ドラッグ&ドロップ・インターフェースをベースとして、元データからブロックを繋げるだけで変換、計算、フィルターなど少し風雑なモデルも作ることができます。ビジュアル編集モデルはSQLに変換されgitによって管理されます。作ったモデルはdbt上の基本機能であるテストとドキュメントに接続できるため、dbt上と同じ信頼性を担保できます。ベータ期間に申し込むのはこちらから。

DataMesh的な思想で開発を分散可能になりうる部分は素晴らしいと感じましたが、ビジネスメンバーに機能を譲渡する前にしっかりガードレールを敷くような開発を行わないとカオスが発生しうると感じたため、機能利用可能時にはその辺りは深くチェックしたいです!
弊社はSQLに慣れ親しんでいないビジネスメンバーが大きなボリュームを占めているので、この機能がしっかりしたガードレールの元でハマることがあれば開発スピードを大きく高めることができそうです!

Advanced CI

これまでのdbt Cloudではslim CIの概念に則って、変更差分とその影響範囲をテストして開発速度を向上させてきましたが、「CIでテストが通ってビルドが通ること」と「期待した変更が正しくされたこと」が一致しないケースも多々あり、今回の advanced CIはそちらを解決する機能として紹介されていました。

そのPRで変更対象となったモデルの実行結果と、直近の本番ビルドの実行結果と比較して「作成されるモデルがこのPRでどのように変化したのか」を確認できるような新しいCIです!

以下の内容を本番とCIの差分として確認できます。

  • 追加、変更、または削除された行または列
  • 列内の値の変更
  • 列のデータ型または列の順序の変更
  • 主キーの変更または重複
  • データモデル全体と比較して、変更、追加、または削除された行の割合

紹介されている画面

  • dbt Cloud上のCI Job詳細画面

  • PullRequest上に投稿されるdbt Cloudからのコメント画面

こちらの機能によって以下のメリットがあると説明されています。

  • 不正なデータを本番環境にデプロイされることを防止できることによるデータ品質の向上
  • 行レベルの変更を確認可能となることで、行レベルテストなどが不要になることによる開発者の速度向上
  • 本番環境の手前で消化活動が可能なため、事後対応が減ることによるコスト効率の向上


早速ちょっとやってみました。(色々な事情ありが成功版と中身をお見せできず、すみません)CI環境のJobで Run compare changes のオプションをONにします。
この機能をONにしないとCI Jobの画面で以下のような表示になります。

pull request上にadvaced CIのコメントがしっかりされました!

(advanced CIに対するコメント)
全てのケースを網羅するテストを書くことは難しいため、コードやデータの変更を自動的に確認できるようになるこのCIは、「これこそ顧客が求めていた機能だ」と感じました。
ただ、本番環境のビルドに関してもCIを意識しなければならないため、ビルド戦略は少し複雑になるかもしれません。それでもビルドの信頼性の向上によって、より安定したリリースプロセスに近づくはずです。

Data health tileの埋め込み

自動公開とそれに対応するData health tileにより、信頼できるデータセットを保証できます。

Tableauワークブックやiframeで埋め込めるData health tileで信頼性を可視化することが可能です。

こちらTableauとの連携が主にフィーチャーされていましたが、こちらLookerStudioにも埋め込み可能なことを確認しました。

このようにdbt Cloud exploreからexposureを選択してiframeを取得

iframe内のtokenパラメータにdbtのBearerトークンを渡した状態で、LookerStudioに埋め込むことで以下のようにLookerStudio上に表示されることを確認できました!

dbtセマンティックレイヤーのコネクタ追加

Tableau(updated)、Sigma、Power BIなど、さまざまなBIツールとの統合が強化されました。

クロスプラットフォームのためのdbt Mesh

これまでの dbt では、複数のデータプラットフォームをまたいだプロジェクトの構成が困難でした。例えば、あるプロジェクトで Databricks を利用していて、後続のプロジェクトで Snowflake を使っていたとしても、後続のプロジェクトから source として Databricks のプロジェクトのテーブルを参照することはできませんでした。

今回の Keynote でクロスプラットフォーム dbt Mesh の機能が発表されて、プラットフォームをまたいだプロジェクトの構成が現実味を帯びてきました。

実現に至ったのは、 Apache Iceberg に対応したデータプラットフォームが増えたことがきっかけでした。

Apache Iceberg とは Open Table Format と呼ばれる、主にデータレイクハウスでの利用が想定されたオープンなテーブルフォーマットです。Apache Iceberg 自体の詳細の説明は割愛しますが、データレイクハウスにおいて Iceberg 形式でテーブルを作成することで、他のデータプラットフォームから読み取りが可能になる仕組みです。

2024年10月に入って dbt が Apache Iceberg のサポートを開始したことで、クロスプラットフォームでの連携が可能になりました。

弊社では BigQuery を利用しており Iceberg 互換でデータを保持することはできないため、残念ながら今の環境で試すことはできませんが、企業間のデータ連携などを見据えると触っておきたい機能だと思いました。

さらに Apache Iceberg 形式への対応に加えて、 Amazon Athena や Azure Synapse Analytics といったアダプターが新しくサポートされました。

プラットフォーム間の連携が容易になるとのことで、柔軟な形式でデータを保持できるデータレイクハウスの強みがこういった形で出てくるのは印象深いです。さらにアダプターの追加によって dbt とデータレイクハウスの相性がますます良くなったように感じました。

まとめ

dbt Coalesce 2024のKeynote「Innovating with dbt」は、dbtのビジョンと共に新規機能がいち早く聞ける非常に刺激的な内容でした。特に、advanced CIやdbt Copilotによってさらに効率的に分析・開発が推進できそうですし、ビジュアルエディティングによって開発に関われるデータ関係者の幅が広がりそうで可能性を感じました。 セッション内で繰り返し強調されるOne dbt というワードの名の通り、dbtがカバーできる新しい領域が沢山できたと思える内容でした。

タイミーでも、こういった新機能を活用することでdbt開発の効率化や品質向上を図り、データ基盤の信頼性とアジリティをさらに高めていきたいです。

※今回私たちは、タイミーのKaigi Pass制度を利用してdbt Coalesce 2024に参加できました。

References

One dbt: the biggest features we announced at Coalesce 2024
https://www.getdbt.com/blog/coalesce-2024-product-announcements

About dbt Copilot
https://docs.getdbt.com/docs/cloud/dbt-copilot

Build with speed and confidence
https://www.getdbt.com/product/develop

Advanced CI
https://docs.getdbt.com/docs/deploy/advanced-ci

Data health tile
https://docs.getdbt.com/docs/collaborate/data-tile