次の方法で共有


相互運用性と使いやすさのベスト プラクティス

この記事では、次のセクションでアーキテクチャの原則ごとに記載された 相互運用性と使いやすさのベスト プラクティスについて説明します。

1. 統合の標準を定義する

外部統合に Databricks REST API を使用する

Databricks レイクハウスには包括的な REST API が付属しており、プラットフォームのほぼすべての側面をプログラムで管理することができます。 REST API サーバーはコントロール プレーンで実行され、Azure Databricks プラットフォームを管理するための統合エンドポイントを提供します。 これは、たとえば、Azure Databricks を CI/CD または MLOps 用の既存のツールに統合する場合の推奨される方法です。 シェルベースのデバイスでの統合の場合、Databricks CLI によって、REST API の多くがコマンド ライン インターフェイスにカプセル化されます。

最適化されたコネクタを使用してレイクハウスからデータ ソースにアクセスする

Azure Databricks には、Delta Lake にデータを取り込むためのさまざまな方法が用意されています。 そのため、レイクハウスには、多くのデータ形式やクラウド サービス向けに最適化されたコネクタが用意されています。 「JDBC を使用したデータベースのクエリ」を参照してください。 その多くは Databricks Runtime に既に含まれています。 これらのコネクタは、多くの場合、特定のデータ ソース用に構築され最適化されています。

Partner Connect で利用可能なパートナーを使用する

企業にはさまざまなニーズがあり、そのすべてを満たすことができるツールはありません。 Partner Connect を使用すると、データ インジェスト、準備と変換、BI と視覚化、機械学習、データ品質など、レイクハウスのあらゆる側面に対応するパートナーを探し、容易に連携することができます。 Partner Connect を使用すると、選択した Databricks テクノロジ パートナーを使用して試用版アカウントを作成し、Azure Databricks ワークスペースを Azure Databricks UI からパートナー ソリューションに接続できます。 Databricks レイクハウス内のデータを使用してパートナー ソリューションを試したうえで、ビジネス ニーズに最適なソリューションを採用してください。

Delta Live Tables と自動ローダーを使用する

Delta Live Tables は、信頼性が高く、保守が容易で、テスト可能なデータ処理パイプラインを構築するためのフレームワークです。 データに対して実行する変換を定義すると、Delta Live Tables によってタスク オーケストレーション、クラスター管理、監視、データ品質、およびエラー処理が管理されます。 「Delta Live Tables とは」を参照してください。

自動ローダーは、新しいデータ ファイルがクラウド ストレージに到着すると、それらを段階的かつ効率的に処理します。 これは、クラウド ストレージからデータ ファイルを確実に読み取ることができます。 Delta Live Tables と自動ローダーの両方に不可欠な要素が、その宣言的な特性です。それがなければ、さまざまなクラウド サービス (通知サービスやキュー サービスなど) を統合する複雑なパイプラインを構築することで、イベントに基づいてクラウド ファイルを確実に読み取り、バッチ ソースとストリーミング ソースを確実に組み合わせられるようにしなければなりません。

自動ローダーと Delta Live Tables によりシステムの依存関係と複雑さが軽減され、クラウド ストレージとの相互運用性と、バッチやストリーミングなどのさまざまなパラダイム間の相互運用性が大幅に向上します。 副次的な効果として、パイプラインがシンプルになり、プラットフォームの使いやすさが向上します。

コードとしてのインフラストラクチャをデプロイとメンテナンスに使用する

HashiCorp Terraform は、複数のクラウド プロバイダーにわたって安全で予測可能なクラウド インフラストラクチャを作成するためによく使用されるオープン ソース ツールです。 オペレーショナル エクセレンス > デプロイとメンテナンスでのコードとしてのインフラストラクチャの使用に関するページを参照してください

2. オープン インターフェイスとオープン データ形式を優先する

差分データ形式を使用する

Delta Lake フレームワークには、信頼性機能から高パフォーマンスの機能強化まで、多くの利点があります。また、これは完全にオープンなデータ形式でもあります。 参照トピック

さらに、Delta Lake には差分スタンドアロン ライブラリが付属しており、開発プロジェクト用に差分形式を開きます。 これは、差分テーブルからの読み取りと差分テーブルへの書き込みが可能な単一ノードの Java ライブラリです。 Delta Lake をサポートするサードパーティ ツールとアプリケーションは多数あります。 具体的には、このライブラリには、トランザクション ログ内のテーブル メタデータを操作するための API が用意され、差分形式のトランザクション保証を実現する差分 トランザクション ログ プロトコルが実装されています。 「Delta Lake とは」を参照してください。

Delta Sharing を使用してパートナーとデータを交換する

Delta Sharing は、使用するコンピューティング プラットフォームに関係なく、他の組織と安全にデータを共有するために Databricks によって開発されたオープン プロトコルです。 "データ プロバイダー" と呼ばれる Databricks ユーザーは、Delta Sharing を使用して、"データ受信者" と呼ばれる組織外の個人またはグループとデータを共有できます。 データ受信者は、最新バージョンの共有データの操作をすぐに開始できます。 Delta Sharing は、Unity Catalog メタストアのデータに対して使用できます。

MLflow を使用して機械学習ワークフローを管理する

MLflow は、実験、再現性、デプロイ、中央モデル レジストリなど、ML ライフサイクルを管理するためのオープンソース プラットフォームです。 Azure Databricks 上で MLflow を使用すると、両方の利点を得ることができます。つまり、オープンかつ移植可能なツールを使用して ML ワークフローを記述し、Databricks (追跡サーバー、モデル レジストリ) によって運用される信頼性の高いサービスを使用することができます。 「MLflow を使用した ML ライフサイクル管理」を参照してください。 また、エンタープライズ レベルのスケーラブルなモデル サービングが追加され、MLflow モデルを REST エンドポイントとしてホストできます。

3. ユース ケース実装の障壁を下げる

プラットフォーム全体でセルフサービスのエクスペリエンスを提供する

Databricks データ インテリジェンス プラットフォームは、セルフサービス エクスペリエンスを提供するうえで必要なすべての機能を備えています。 必須の承認ステップが存在する場合もありますが、ベスト プラクティスは、事業部門がレイクハウスへのアクセスを要求するときのセットアップを完全に自動化することです。 新しい環境のプロビジョニング、ユーザーの同期と認証への SSO の使用、共通データへのアクセス制御の提供、自身のデータのオブジェクト ストレージの分離などを自動的に行います。 これにより、意味的に一貫性のあるビジネス対応データ セットを含む中央データ カタログと共に、レイクハウスの機能と必要なデータへのアクセスが、迅速かつ安全に新しい事業部門に提供されます。

プラットフォームのサーバーレス サービスを使用する

Azure Databricks プラットフォーム上のサーバーレス コンピューティングでは、コンピューティング レイヤーはお客様の Databricks アカウントで実行されます。 クラウド管理者が、クォータの調整、ネットワーク資産の作成と保守、請求ソースの結合などを含む複雑なクラウド環境を管理する必要がなくなりました。 ユーザーのクラスター起動の待ち時間がほぼゼロになり、クエリのコンカレンシーが向上するというメリットもあります。

ユース ケースごとに定義済みクラスターおよび SQL ウェアハウスを提供する

サーバーレス サービスを使用できない場合は、クラスター (VM の種類、ノード サイズ、クラスター サイズ) を定義する負担をエンド ユーザーから取り除きます。 これは、次の方法で実現できます。

  • 共有クラスターを即時環境としてユーザーに提供します。 これらのクラスターで、アイドル コストが高くならないように、自動スケーリングを使用してノード数を最小数まで減らします。
  • クラスター ポリシーを使用して、標準化された作業環境として、プロジェクトに対して T シャツ サイズのクラスター (S、M、L) を定義します。

4. データの一貫性と使いやすさを確保する

企業が信頼できる再利用可能な "製品としてのデータ" を提供する

高品質な "製品としてのデータ" を生成することは、どのデータ プラットフォームにとっても第一の目標となっています。 これは、Data Engineering チームが、製品思考をキュレーション データに適用するという考え方です。つまりデータ資産が彼らの製品であり、データ サイエンティスト、ML および BI エンジニア、その他データを使用するビジネス チームは彼らの顧客です。 こうした顧客は、セルフサービス エクスペリエンスによって、データ専門チームの介入なしに、その "製品としてのデータ" の価値を発見し、対処し、創出できる必要があります。

企業全体で意味的に一貫性のあるデータ製品を発行する

データ レイクには通常、さまざまなソース システムのデータが含まれます。 これらのシステムでは、同じ概念に異なる名前が付いていたり ("顧客" と "アカウント" など)、同じ識別子が異なる概念を意味したりすることがあります。 ビジネス ユーザーがこれらのデータ セットを意味のある方法で簡単に結合するには、すべてのソースでデータを同種にして、意味的に一貫性を持たせる必要があります。 また、データの中には、分析に役立てるために、収益認識などの内部ビジネス ルールを正しく適用しなければならないものがあります。 正しく解釈されたデータをすべてのユーザーが確実に使用できるように、これらのルールを備えたデータ セットを使用できるようにして、Unity Catalog に発行してください。 ソース データへのアクセスは、正しい使用を理解しているチームに限定する必要があります。

データの検出と系列の探索に Unity Catalog を使用する

Unity Catalog で、管理者とデータ スチュワードは、Azure Databricks アカウント内のすべてのワークスペース間で一元的にユーザーとそれらのユーザーのデータへのアクセスを管理します。 さまざまなワークスペース内のユーザーが同じデータを共有できます。また、Unity Catalog で一元的に付与されたユーザー特権に応じて、共同データ アクセスが可能です。 「カタログ エクスプローラーとは」を参照してください。

使いやすさの観点から、Unity Catalog には次の 2 つの機能が用意されています。

  • カタログ エクスプローラーは、多くの Unity Catalog 機能のメイン UI です。 カタログ エクスプローラーを使用すると、スキーマの詳細を表示したり、サンプル データをプレビューしたり、テーブルの詳細とプロパティを表示したりできます。 管理者は所有者を表示および変更できます。また、管理者とデータ オブジェクトの所有者はアクセス許可の付与と取り消しを行えます。 Databricks 検索を使用することもできます。これにより、ユーザーがデータ資産 (テーブル、列、ビュー、ダッシュボード、モデルなど) を簡単かつシームレスに検索できます。 ユーザーには、自分の検索要求に関連する結果のうち、自身がアクセスできるものが表示されます。 「Unity Catalog を使用したデータ系列のキャプチャと表示」を参照してください。.

  • すべてのクエリのデータ系列が Azure Databricks クラスターまたは SQL ウェアハウスで実行されます。 系列はすべての言語でサポートされ、列レベルまでキャプチャされます。 系列データには、クエリに関連するノートブック、ワークフロー、ダッシュボードが含まれます。 系列は、カタログ エクスプローラーでほぼリアルタイムに視覚化し、Azure Databricks REST API を使用して取得できます。

企業がすべてのデータ プラットフォームのすべてのデータの包括的ビューをユーザーに提供できるように、Unity Catalog は、エンタープライズ データ カタログ ("カタログのカタログ" と呼ばれることもあります) との統合を実現します。