CI強化、自動エクスポージャー(Automatic exposures)による最新データ反映…『dbt Cloud Launch Showcase』で発表されたその他有用なアップデートの紹介 #dbt
先日ウェビナー形式で開催され、非常に数多くの魅力的な情報が解禁となったdbt。その模様は下記エントリ群で紹介しましたが、
イベント開催後の情報として公式からのブログとしても今回のリリースに関するまとめが展開されていました。
当エントリでは、公開済3本のエントリで言及していなかった部分に焦点を当てる形でその内容を見ていこうと思います。
目次
- 継続的インテグレーション(CI)の強化
- 自動エクスポージャー(Automatic exposures)
- dbt Explorer
- dbt Semantic Layer
- dbt Mesh
- セルベースのアーキテクチャ(Cell-based architecture)
- まとめ
継続的インテグレーション(CI)の強化
dbtにおける継続的インテグレーション(CI)については下記ドキュメントをご参照ください。
CI ジョブ内の"変更を比較"機能により、プルリクエスト(PR)内のコードがビルドされることを確認できるだけでなくビルドされるものが期待に沿うものであることも確認できるようになりました。有効にすると、各CIジョブには、ジョブを実行した結果、基礎となるデータプラットフォームで何が追加、修正、削除されたかの内訳が含まれるようになります。(この機能に関しては既に利用出来るようです)
『変更内容』の比較を見ているところ。
値の差分表示もされていることを確認出来ます。画面下の方には『追加内容』の項も確認出来ますね。
また、変更に関する比較機能についてはGitプロバイダー上の実際のPRの中に、品質チェックの結果の要約が表示されるようになります。この機能によって、今後は 予期せぬ変更をよりシームレスに防ぎ、QA プロセスをよりスムーズにし、下流のデータ製品の消費者によりよい体験を提供出来るようになります。(こちらは今後のベータ版を待て、という状況のようです)
自動エクスポージャー(Automatic exposures)
エクスポージャそのものについては以下エントリ群をご参照ください。dbtにおけるエクスポージャは端的にいうと『データモデルの下流での利用状況を定義し、追跡することが出来る』機能です。
今回のこの『自動エクスポージャ(Automatic exposures)』機能により、データワークフローとdbt DAGをより自動化し、コンテクストが豊富で、最新かつ費用対効果の高いものにする新しいエンドツーエンドのオーケストレーション機能を展開出来るようになります。
自動エクスポージャ(Automatic exposures)を設定ことで、dbt DAG はモデルによって生成されたダウンストリームダッシュボードを自動的に反映します。また、上流で新しいデータが利用可能になると、下流のダッシュボードが自動的に更新されるようにトリガーすることもでき、関係者は常に最新のデータに基づいて意思決定を行うことができます。これらのエクスポージャは、dbt Explorer、スケジュールされたジョブ、CI ジョブを含む dbt Cloud 全体に反映されるようです。
更には、近い将来のロードマップに於いて、dbtワークフローの下流と上流のすべてが同期され、自動化され、常に最新の状態になるようにな『アクティブソース』のコンセプトも取り入れられていくようです。
そしてTableau用の自動エクスポージャは今年の夏にベータ版がリリースされ、PowerBIのエクスポージャはそれに続く予定とのこと。楽しみですね!
dbt Explorer
dbt Explorerの諸機能がGAになったという事自体は先日公開したエントリで言及しましたが、『dbtエクスプローラが、データ生産者とデータ利用者の双方にとって、データのROI(投資対効果)と貴重な時間を向上させる一助となること』をビジョンに掲げ、dbt Explorer が、コストを抑えながら質の高い意思決定を行うための不可欠なコマンドセンターとなることを目指し、dbt Explorerにいくつかの新機能が近々追加されることを発表しています。
自動エクスポージャ(Automatic exposures)の可視化
こちらは上述の自動エクスポージャ(Automatic exposures)と連動するものですね。ダッシュボード、チーム、ユースケースなど、モデルに設定した情報が存分に発揮される機能とも言えます。一発でこういったリネージ情報が展開し見えるようになるのは本当にdbt Cloudの良い点、メリットだなと思います。
モデルのクエリ履歴
使用クエリに基づいてモデルの相対的な利用頻度を明らかにすることで、開発の優先順位をつけ、データの信頼性を向上させることができるようになる機能。
タイル埋め込み
ステークホルダーがデータを利用するあらゆる場所に、鮮度(freshness)や品質といったデータの健全性を示すシグナルを表示することで、信頼を築き、質の高い意思決定を加速出来る機能。これってdbtの情報を埋め込み表示させることが出来るっていうものなんだろうけど、dbt Cloudの画面のみならずdbt Cloud以外の環境からも埋め込み表示出来るってことなのかしら?これは要確認ですね。
dbt Semantic Layer
dbtの機能リリースを見る感じ『これはEnterpriseプランに付加価値をつけるための施策なのかな』と思うような発表内容の傾向がありましたが(例:dbt CloudのTeamプランやEnterpriseプランでのみ利用出来ます、等)、今回紹介されたエントリのdbt Semantic Layerの項ではその旨明示的に書かれていましたね(dbt Semantic Layerのロードマップを計画する上で、私たちが「エンタープライズ対応」と呼ぶ機能を提供することを最優先事項としてきました)。dbt Semantic Layerに於いては以下のような多くのエンタープライズ向け機能が追加されています。
アクセスコントロール
dbt Semantic Layerにアクセスコントロールの仕組みが追加されます。グループレベルとユーザーレベルのコントロールにより、セマンティックレイヤーのパーミッションの粒度、コントロール、精度を向上させる事が出来るようになります。以下の2機能については2024年07月にプレビューが開始される予定のようです。
- dbt Cloudの管理者は、複数のデータプラットフォーム認証情報を作成し、それらを認証のためのサービストークンにマッピングすることができます。
- ユーザーレベルのコントロールでは、既存の開発者クレデンシャルを再利用して、よりきめ細かいパーミッションを設定することができるようになります。
Semantic Layerのアクセスコントロールに関するロードマップ的なもの。段階を追って展開されていくらしい:
グループレベルのアクセスコントロール:
ユーザーレベルのアクセスコントロール:
その他将来的にも予定されているものがある模様です:
キャッシング
dbtで既にリリースされていた『リザルトキャッシング(Result caching)』はロード時間を改善し、頻繁にクエリされるメトリクスの計算コストを削減する有用な方法です。
そして宣言型キャッシュ(Declarative caching)がGAになったことにより、ユースケースに最も関連するキャッシュを構成するためのパワーとコントロールがさらに強化されました。保存されたクエリを使用してキャッシュを"プリウォーム(pre-warm)"し、主要なダッシュボードや一般的なアドホッククエリリクエストのパフォーマンスを大幅に向上させることができます。保存されたクエリと同じ入力を持つクエリリクエストはすべてキャッシュにヒットし、はるかに速く返されます。
SSO&プライベートリンク
現在GAとなっているSSO(シングルサインオン)とプライベートリンクについてもセマンティックレイヤーのユーザーエクスペリエンス向上に寄与するものとなります。dbt Cloudの開発者クレデンシャルがSSOを使用している場合、dbt Cloud CLIでdbt Semantic Layerに対して開発し、テストすることができます。さらに、PrivateLinkを使ってデプロイしているdbtクラウドユーザーはdbtセマンティックレイヤーを使うことができます。
dbt CloudにおけるSSOやプライベートリンクの基本的な情報については下記公式ドキュメントをご参照ください。
MetricFlowの改善
MetricFlowの新たな機能強化として、ディメンションとしてのメトリクス、サブデイの粒度、タイムゾーンのサポート、複雑な日付の結合を発表しました。
先日のウェビナーでは「ディメンションとしてのメトリクス」が紹介されていました:
dbt Mesh
dbt MeshについてはGAの情報とともに、dbt Meshの導入を効率化するための新機能も発表されています。プロジェクト間で完了時にトリガーされるジョブのサポートや、データの分離を改善するための正規環境タイプとしてのステージング環境のサポートなどです。また、プロジェクト間で再利用可能なマクロを共有するためのサポートとともに、環境レベルの権限とウェアハウス接続を近日中にリリースする予定とのこと。
dbt Meshの詳細については下記ドキュメントをご参照ください。
セルベースのアーキテクチャ(Cell-based architecture)
今後のdbt Cloudの基盤になるものとして、新しく「セルベースのアーキテクチャ(Cell-based architecture)」なるものが発表されました。スケーラビリティの向上(顧客の展開の複雑さに関係なく、dbt Cloudのパフォーマンスを最大化する)と信頼性の向上(製品の安定性を損なうことなく、すべての地域や展開において、すべてのdbt Cloudの顧客に同じ素晴らしい体験を継続的に提供できるようにする)を実現するものとなるらしいです。
...読んでみたもののいまいちピンと来てないw アーキテクチャレベルの話なので実際の利用者レベルではそんなに感じる影響は無いのかも知れないですね。今後の新情報に期待です。(ちなみにこのセルベースのアーキテクチャは、今年中に順次お客様に展開される予定とのこと)
まとめ
という訳で、米国時間2024年05月14日に開催されたウェビナーイベント『dbt Cloud Launch Showcase』のおまけレポート的な内容の紹介でした。今回このイベントで発表された新機能はどれも魅力的でパワフルなものだったという印象です。今回の発表によってよりdbt、ひいてはdbt Cloudの訴求力が高まったと思うので今後のdbtの展開が楽しみです!