この記事では、 相互運用性と使いやすさに関するベスト プラクティスについて、以下のセクションに示すアーキテクチャの原則に従って説明します。
1. 統合の標準を定義する
外部統合に標準および再利用可能な統合パターンを使用する
統合標準は、さまざまなシステムやアプリケーション間でデータを表現、交換、処理する方法のガイドラインを提供するため、重要です。 これらの標準は、さまざまなソースと送信先間でデには互換性があり、高品質で相互運用可能であることを保証するのに役立ちます。
Databricks Lakehouse には、プラットフォームのほぼすべての側面をプログラムで管理できる包括的な REST API が付属しています。 REST API サーバーはコントロール プレーンで実行され、Azure Databricks プラットフォームを管理するための統合エンドポイントを提供します。
REST API は、常に使用できる最も低いレベルの統合を提供します。 ただし、Azure Databricks と統合する場合は、 Databricks SDK や CLI ツールなどのより高いレベルの抽象化を使用することをお勧めします。 CLI ツールはシェルベースであり、Databricks プラットフォームを CI/CD および MLOps ワークフローに簡単に統合できます。
最適化されたコネクタを使用してレイクハウスにデータ ソースを取り込む
Azure Databricks には、Delta Lake にデータを取り込むためのさまざまな方法が用意されています。
Databricks は、Apache Kafka などの ストリーム メッセージング サービス用に最適化されたコネクタ を提供し、データのほぼリアルタイムのデータ インジェストを実現します。
Databricks は、 多くのクラウドネイティブ データ システム に組み込みの統合を提供し、他のデータ システムに接続するための拡張可能な JDBC サポートを提供します。
ETL なしでデータ ソースを統合するための 1 つのオプションは 、Lakehouse フェデレーションです。 Lakehouse フェデレーションは、Databricks のクエリ フェデレーション プラットフォームです。 クエリ フェデレーションという用語は、すべてのデータを統合システムに移行することが不要で、ユーザーとシステムが複数のデータ ソースに対してクエリを実行できるようにする機能のコレクションを表します。 Databricks は、Unity Catalog を使用してクエリ フェデレーションを管理します。 Unity Catalog のデータ ガバナンスとデータ系列ツールを使用すると、Databricks ワークスペース内のユーザーが実行するすべてのフェデレーション クエリに対してデータ アクセスが管理および監査されます。
メモ
Lakehouse フェデレーション ソースを使用する Databricks プラットフォーム内のすべてのクエリが、そのソースに送信されます。 ソース システムが負荷を処理できることを確認します。 また、ソース システムが別のクラウド リージョンまたはクラウドにデプロイされている場合は、クエリごとにエグレス コストが発生することに注意してください。
具体化 されたビュー を使用して基になるデータベースへのアクセスをオフロードすることを検討して、運用データベースの高負荷/同時負荷を回避し、エグレス コストを削減します。
認定パートナー ツールを使用する
組織にはさまざまなニーズがあり、そのすべてを 1 つのツールで満たすことはできません。 Partner Connect を使用すると、データ インジェスト、準備と変換、BI と視覚化、機械学習、データ品質など、Lakehouse のすべての側面をカバーするパートナーを探索して簡単に統合できます。 Partner Connect を使用すると、選択した Databricks テクノロジ パートナーを使用して試用版アカウントを作成し、Azure Databricks ワークスペースを Azure Databricks UI からパートナー ソリューションに接続できます。 Databricks レイクハウス内のデータを使用してパートナー ソリューションを試したうえで、ビジネス ニーズに最適なソリューションを採用してください。
Data Engineering パイプラインの複雑さを軽減する
Data Engineering パイプラインの複雑さを軽減するための投資により、スケーラビリティ、機敏性、柔軟性が向上し、より迅速に拡張やイノベーションを実現できるようになります。 簡素化されたパイプラインにより、タスクのオーケストレーション、クラスターの管理、監視、データの品質、エラー処理など、Data Engineering パイプラインの運用上のニーズをすべて簡単に管理および適応できるようになります。
Lakeflow 宣言型パイプラインは、信頼性の高い保守可能でテスト可能なデータ処理パイプラインを構築するためのフレームワークです。 データに対して実行する変換を定義すると、Lakeflow 宣言パイプラインはタスク オーケストレーション、クラスター管理、監視、データ品質、エラー処理を処理します。 「Lakeflow 宣言型パイプライン」を参照してください。
自動ローダーは 、クラウド ストレージに到着すると、新しいデータ ファイルを段階的かつ効率的に処理します。 これは、クラウド ストレージからデータ ファイルを確実に読み取ることができます。 Lakeflow 宣言型パイプラインと自動ローダーの両方の重要な側面は、宣言型の性質です。これを使用しない場合、イベントに基づいてクラウド ファイルを確実に読み取り、バッチソースとストリーミング ソースを確実に結合するために、通知サービスやキュー サービスなどの異なるクラウド サービスを統合する複雑なパイプラインを構築する必要があります。
自動ローダーと Lakeflow 宣言パイプラインにより、システムの依存関係と複雑さが軽減され、クラウド ストレージとの相互運用性と、バッチやストリーミングなどのさまざまなパラダイム間の相互運用性が大幅に向上します。 副次的な効果として、パイプラインがシンプルになり、プラットフォームの使いやすさが向上します。
コードとしてのインフラストラクチャ (IaC) をデプロイとメンテナンスに使用する
HashiCorp Terraform は、複数のクラウド プロバイダーにわたって安全で予測可能なクラウド インフラストラクチャを作成するためによく使用されるオープン ソース ツールです。 「オペレーショナル エクセレンス: デプロイとメンテナンスのコードとしてインフラストラクチャを使用する」を参照してください
2.オープンなインターフェイスとオープンなデータ形式を活用する
オープンなデータ形式を使用する
オープンなデータ形式を使用するということは、その使用に制限がないことを意味します。 これは、データにアクセスして分析に使用したり、ビジネス インサイトを推進したりする際の障壁を取り除くため重要です。 Apache Spark 上に構築されたものなどのオープン形式では、ACID トランザクション、統合ストリーミング、バッチ データ処理のサポートによってパフォーマンスを向上させる機能も追加されます。 さらに、オープン ソースはコミュニティ主導であり、コミュニティは常に既存の機能の改善と新しい機能の追加に取り組んでいます。そのため、ユーザーがプロジェクトを最大限に活用しやすくなっています。
データ インテリジェンス プラットフォームで使用される主なデータ形式は Delta Lake です。Delta Lake は、信頼性機能からパフォーマンスの強化まで、多くの利点を提供する 完全にオープンなデータ形式 です。「 ACID トランザクションをサポートするデータ形式の使用 」と パフォーマンス効率のベスト プラクティスを参照してください。
オープン ソースであるため、Delta Lake には大規模なエコシステムがあります。 Delta Lake は、多数のサード パーティ製のツールとアプリケーションでサポートされています。 相互運用性をさらに強化するために、 Apache Iceberg リーダー クライアントで Delta テーブルを読み取ることができます。 データ ファイルの 1 つのコピーで両方の形式が提供され、異なるリーダーに適したメタデータが確保されます。
すべてのデータ資産に対して安全なデータと AI の共有を有効にする
データと AI の資産を共有すると、コラボレーションと意思決定が向上する可能性があります。 ただし、データを共有する場合は、制御を維持し、データを保護し、関連するデータ共有の法律や規制に確実に準拠することが重要です。
Delta Sharing は、使用するコンピューティング プラットフォームに関係なく、他の組織と安全にデータを共有するために Databricks によって開発されたオープン プロトコルです。 Databricks を使用しているかどうかに関係なく、Databricks ワークスペースの外部のユーザーとデータを共有する場合は、オープン Delta Sharing を使用してデータを安全に共有できます。 Unity Catalog が有効な Databricks ワークスペースを持つユーザーとデータを共有する場合は、Databricks 間 Delta Sharing を使用できます。
どちらの場合も、 テーブル、 ビュー、 ボリューム、 モデル、 ノートブックを共有できます。
パートナーとデータを共有する場合は、オープン Delta Sharing プロトコルを使用します。
Delta Sharing は、レイクハウスから任意のコンピューティング プラットフォーム にライブ データを安全に共有するためのオープン ソリューション を提供します。 受信者は、Databricks プラットフォーム上にも、同じクラウド上にも、いずれのクラウド上にも存在する必要がありません。 Delta Sharing は、Unity Catalog とネイティブに統合されているため、組織は、セキュリティとコンプライアンスの要件を満たしながら、企業全体の共有のデータと AI の資産を一元的に管理および監査し、自信を持ってデータと AI の資産を共有できます。
データ プロバイダーは、別のシステムにデータをレプリケートまたは移動することなく、データ プラットフォームで保存されている場所からライブ データと AI モデルを共有できます。 この方法では、データ プロバイダーがクラウド、地域、またはデータ プラットフォーム間でデータを各データ コンシューマーに複数回レプリケートする必要がないため、データと AI 共有の運用コストが削減されます。
Databricks ユーザー間では Databricks 間の Delta Sharing を使用します。
Unity カタログメタストアにアクセスできないユーザーとデータを共有する場合は、受信者が Unity カタログ対応のDatabricks ワークスペースにアクセスできる限り、Databricks-to-Databricks Delta Sharingを使用できます。 Databricks 間の共有により、クラウド リージョン間やクラウド プロバイダー間で、他の Databricks アカウントのユーザーとデータを共有できます。 独自の Databricks アカウント内の異なる Unity カタログ メタストア間でデータを安全に共有する優れた方法です。
ML ライフサイクル管理にオープン標準を使用する
オープン ソースのデータ形式を使用する場合のように、AI ワークフローにオープン標準を使用すると柔軟性、機敏性、コスト、セキュリティの面で同様の利点があります。
MLflow は、ML と AI のライフサイクルを管理するためのオープン ソース プラットフォームです。 Databricks で提供される MLflow は、フル マネージドかつホスト型のバージョンであり、エンタープライズ セキュリティ機能や高可用性に加えて、実験と実行の管理やノートブックのリビジョン追跡など、その他の Databricks ワークスペース機能が統合されています。
主なコンポーネントは、ML モデルとディープ ラーニング モデル、機械学習モデルをパッケージ化するための標準形式としてのモデル、Unity カタログと統合されたモデル レジストリ、スケーラブルなエンタープライズ レベルのモデル サービスを自動的にログに記録して追跡するための実験追跡です。
3.新しいユース ケースの実装を簡単にする
プラットフォーム全体でセルフサービスのエクスペリエンスを提供する
ユーザーがニーズに応じてツールや機能を自律的に使用できるプラットフォームには、いくつかの利点があります。 セルフサービス プラットフォームの作成に投資することで、より多くのユーザーにサービスを提供するために拡張することが容易になり、ユーザーのプロビジョニング、問題の解決、アクセス要求の処理に人間が関与する必要性を最小限に抑えることで、効率が向上します。
Databricks データ インテリジェンス プラットフォームは、セルフサービス エクスペリエンスを提供するうえで必要なすべての機能を備えています。 必須の承認ステップが存在する場合もありますが、ベスト プラクティスは、事業部門がレイクハウスへのアクセスを要求するときのセットアップを完全に自動化することです。 新しい環境のプロビジョニング、ユーザーの同期と認証への SSO の使用、共有データへのアクセス制御の提供、自身のデータのオブジェクト ストアの分離などを自動的に行います。 新しい事業部門は、意味的に一貫性がありビジネス対応可能なデータ セットの中央データ カタログとともに、レイクハウスの機能と必要なデータに迅速かつ安全にアクセスできます。
サーバーレス コンピューティングを使用する
Azure Databricks プラットフォーム上の サーバーレス コンピューティング の場合、コンピューティング レイヤーは顧客の Databricks アカウントで実行されます。 クラウド管理者は、クォータの調整、ネットワーク リソースの作成と保守、請求ソースの接続を必要とする複雑なクラウド環境を管理する必要がなくなります。 ユーザーは、クラスターの起動待機時間がほぼゼロになり、クエリのコンカレンシーが向上するという利点があります。
定義済みのコンピューティング テンプレートを使用する
定義済みのテンプレートを使用すると、ユーザーがコンピューティング リソースの使用方法や作成方法を制御することができます: ユーザー クラスターの作成を指定した設定や特定の数に制限したり、ユーザー インターフェイスを簡素化したり、クラスターあたりの最大コストを制限してコストを管理したりできます。
データ インテリジェンス プラットフォームは、次の 2 つの方法でこれを実現します。
- 共有クラスターを即時環境としてユーザーに提供します。 これらのクラスターで、アイドル コストが高くならないように、自動スケーリングを使用してノード数を最小限に減らします。
- 標準化された環境では、 コンピューティング ポリシー を使用してクラスターのサイズまたは機能を制限するか、T シャツ サイズのクラスター (S、M、L) を定義します。
AI 機能を使用して生産性を向上させる
AI ツールは、生産性の向上に加えて、エラーのパターンを特定したり、入力に基づいて追加の分析情報を提供したりするのにも役立ちます。 全体としては、これらのツールを開発プロセスに組み込むことで、エラーが大幅に削減され、意思決定が容易になるので、リリースまでの時間が短縮されます。
AI を利用したナレッジ エンジンである Databricks IQ は、データ インテリジェンス プラットフォームの中核をなしています。 Unity Catalog メタデータを活用して、組織全体のテーブル、列、説明、よく使用されるデータ資産を理解し、パーソナライズされた応答を提供します。 これにより、プラットフォームを使用する際の生産性を向上させる、次のようないくつかの機能が有効になります。
- Databricks Assistant を使用すると、会話インターフェイスを介してデータを照会できるため、Databricks の生産性が向上します。 タスクを英語で説明すると、SQL クエリの生成、複雑なコードの説明、エラーの自動修正をウィザードで行うことができます。
- Unity カタログによって管理される任意のテーブルまたはテーブル列に対して AI によって生成されたコメントにより、メタデータ管理プロセスが高速化されます。 ただし、AI モデルは必ずしも正確であるとは限らないため、コメントは保存する前にレビューする必要があります。 Databricks では、AI によって生成されたコメントを人間がレビューして不正確さをチェックすることを強く推奨しています。
4. データの一貫性と使いやすさを確保する
企業が信頼できる再利用可能な "製品としてのデータ" を提供する
AI とデータ ドリブンを目指す組織では、多くの場合、高品質で信頼できるデータを社内チームに提供する必要があります。 品質と使いやすさを優先する方法の 1 つは、明確に定義された “データ製品” を作成して、公開されたデータ資産に製品の考え方を適用することです。 このようなデータ製品を構築することで、組織のデータと AI の目標に対する、標準と信頼できるビジネスの基盤を確立できるようになります。 データ製品が最終的に価値を提供するのは、ユーザーとアプリケーションが、適切なデータを、適切なタイミング、適切な品質、適切な形式で保有しているときです。 この価値は従来、コストの削減、プロセスの高速化、リスクの軽減によってより効率的な運用の形で実現されてきましたが、最新のデータ製品は、組織の業界またはパートナーエコシステム内で新しい付加価値オファリングやデータ共有の機会を生み出す道を開くこともできます。
Databricks を使用した High-Quality と信頼できるデータ製品の構築に関するブログ投稿を参照してください。
企業全体で意味的に一貫性のあるデータ製品を発行する
データ レイクには通常、複数のソース システムのデータが含まれます。 これらのシステムは、同じ概念 ( 顧客 と アカウントなど) の名前が異なる場合や、同じ識別子を使用して異なる概念を参照する場合があります。 ビジネス ユーザーがこれらのデータ セットを意味のある方法で簡単に結合できるように、データはすべてのソース間で均質化され、意味的に一貫性が保たれる必要があります。 また、データの中には、分析に役立てるために、収益認識などの内部ビジネス ルールを正しく適用しなければならないものがあります。 正しく解釈されたデータをすべてのユーザーが確実に使用できるように、これらのルールを備えたデータ セットを使用できるようにして Unity Catalog に発行してください。 ソース データへのアクセスは、正しい使用を理解しているチームに制限する必要があります。
検出とデータ系列の中央カタログを提供する
検出とデータ系列の中央カタログを使用すると、データ コンシューマーが企業全体の複数のソースからデータにアクセスできるようになるため、中央ガバナンス チームの運用オーバーヘッドが削減されます。
Unity カタログでは、管理者とデータ スチュワードは、Azure Databricks アカウント内のすべてのワークスペースでユーザーとそのデータへのアクセスを 一元的に 管理します。 さまざまなワークスペース内のユーザーが同じデータを共有できます。また、Unity Catalog で一元的に付与されたユーザー特権に応じて、一緒にデータにアクセスできます。
データ検出の場合、Unity Catalog は次のような機能を持つユーザーをサポートします。
- カタログ エクスプローラー は、多くの Unity カタログ機能の主要なユーザー インターフェイスです。 カタログ エクスプローラーを使用すると、スキーマの詳細の表示、サンプル データのプレビュー、テーブルの詳細とプロパティの表示を行うことができます。 管理者は所有者を表示および変更できます。また、管理者とデータ オブジェクトの所有者はアクセス許可の付与と取り消しを行うことができます。 Databricks 検索を使用することもできます。これにより、ユーザーがデータ資産 (テーブル、列、ビュー、ダッシュボード、モデルなど) を簡単かつシームレスに検索できます。 ユーザーには、自分の検索要求に関連する結果のうち、自身がアクセスできるものが表示されます。
- すべてのクエリのデータ系列は、Azure Databricks クラスターまたは SQL ウェアハウスで実行されます。 系列はすべての言語でサポートされ、列レベルまでキャプチャされます。 系列データには、クエリに関連するノートブック、ジョブ、ダッシュボードが含まれます。 系列は、カタログ エクスプローラーでほぼリアルタイムに視覚化し、Azure Databricks REST API を使用して取得できます。
企業がすべてのデータ プラットフォームのすべてのデータの包括的ビューをユーザーに提供できるように、Unity Catalog は、エンタープライズ データ カタログ ("カタログのカタログ" と呼ばれることもあります) との統合を実現します。