この記事では、Azure と組み合わせたエンタープライズ アーキテクチャなど、Azure Databricks アーキテクチャの概要について説明します。
Databricks オブジェクト
Azure Databricks アカウント は、組織全体で Azure Databricks を管理するために使用する最上位レベルのコンストラクトです。 アカウント レベルでは、次の管理を行います。
- ID とアクセス: ユーザー、グループ、サービス プリンシパル、およびユーザー プロビジョニング。
ワークスペースの管理: 複数のリージョンにまたがるワークスペースを作成、更新、削除します。
Unity カタログメタストア管理: メタストアを作成してワークスペースにアタッチします。
使用状況管理: 課金、コンプライアンス、ポリシー。
アカウントには、複数のワークスペースと Unity カタログ メタストアを含めることができます。
ワークスペース は、ユーザーがインジェスト、対話型探索、スケジュールされたジョブ、ML トレーニングなどのコンピューティング ワークロードを実行するコラボレーション環境です。
Unity カタログ メタストア は、テーブルや ML モデルなどのデータ資産の中央ガバナンス システムです。 メタストア内のデータは、次の 3 レベルの名前空間の下に整理します。
<catalog-name>.<schema-name>.<object-name>
メタストアはワークスペースにアタッチされます。 1 つのメタストアを同じリージョン内の複数の Azure Databricks ワークスペースにリンクし、各ワークスペースに同じデータ ビューを提供できます。 データ アクセス制御は、リンクされているすべてのワークスペースで管理できます。
ワークスペースのアーキテクチャ
Azure Databricks は、"コントロール プレーン" と "コンピューティング プレーン" により動作します。
コントロール プレーンには、Azure Databricks によって Azure Databricks アカウントで管理されるバックエンド サービスが含まれています。 Web アプリケーションは、コントロール プレーン内にあります。
コンピューティング プレーンは、データが処理される場所です。 コンピューティング プレーンには、使用するコンピューティングに応じて次の 2 つの種類があります。
- サーバーレス コンピューティングの場合、サーバーレス コンピューティング リソースは、Azure Databricks アカウント内の "サーバーレス コンピューティング プレーン" 内で実行されます。
- 従来の Azure Databricks コンピューティングの場合、コンピューティング リソースは、Azure サブスクリプション内にあり、"クラシック コンピューティング プレーン" と呼ばれます。 これは、Azure サブスクリプション内のネットワークとそのリソースを指します。
クラシック コンピューティングとサーバーレス コンピューティングの詳細については、「 コンピューティング」を参照してください。
クラシック ワークスペースのアーキテクチャ
クラシック Azure Databricks ワークスペースには、ワークスペース ストレージ アカウントと呼ばれるストレージ アカウントが関連付けられています。 ワークスペース ストレージ アカウントは、Azure サブスクリプション内にあります。
次の図では、クラシック ワークスペースの一般的な Azure Databricks アーキテクチャについて説明します。
サーバーレス ワークスペースのアーキテクチャ
サーバーレス ワークスペース内のワークスペース ストレージは、ワークスペースの既定のストレージに格納されます。 クラウド ストレージ アカウントに接続してデータにアクセスすることもできます。 次の図では、サーバーレス ワークスペースの一般的なアーキテクチャについて説明します。
サーバーレス コンピューティング プレーン
サーバーレス コンピューティング プレーンでは、Azure Databricks コンピューティング リソースは、Azure Databricks アカウント内のコンピューティング レイヤーで実行されます。 Azure Databricks は、ワークスペースのクラシック コンピューティング プレーンと同じ Azure リージョンにサーバーレス コンピューティング プレーンを作成します。 ワークスペースを作成する場合は、このリージョンを選択します。
サーバーレス コンピューティング プレーン内の顧客データを保護するために、サーバーレス コンピューティングはワークスペースのネットワーク境界内で実行され、Azure Databricks の異なる顧客のワークスペースを隔離するさまざまなセキュリティ レイヤーと、同じ顧客のクラスター間の追加のネットワーク制御を備えています。
サーバーレス コンピューティング プレーン内のネットワークの詳細については、「サーバーレス コンピューティング プレーン ネットワーク」を参照してください。
クラシック コンピューティング プレーン
クラシック コンピューティング プレーンでは、Azure Databricks コンピューティング リソースは Azure サブスクリプションで実行されます。 新しいコンピューティング リソースは、顧客の Azure サブスクリプション内の各ワークスペースの仮想ネットワーク内に作成されます。
クラシック コンピューティング プレーンは、顧客独自の Azure サブスクリプションで実行されるため、自然な分離を備えます。 クラシック コンピューティング プレーン内のネットワークの詳細については、「クラシック コンピューティング プレーン ネットワーク」を参照してください。
リージョンのサポートについては、「Azure Databricks のリージョン」を参照してください。
ワークスペース ストレージ
ワークスペース ストレージの処理方法は、ワークスペースの種類によって異なります。 ワークスペースの種類の詳細については、「ワークスペースの 作成」を参照してください。
サーバーレス ワークスペース
サーバーレス ワークスペースでは、既定のストレージが使用されます。これは、ワークスペースのシステム データと Unity カタログの完全に管理されたストレージの場所です。 サーバーレス ワークスペースでは、クラウド ストレージの場所に接続する機能もサポートされています。 Databricks の既定のストレージを参照してください。
クラシック ワークスペース
ワークスペース ストレージ アカウントには、次のものが含まれています。
- ワークスペース システム データ: ワークスペース システム データは、ノートブックの作成など、さまざまな Azure Databricks 機能を使用すると生成されます。 このバケットには、ノートブックのリビジョン、ジョブの実行の詳細、コマンドの結果、Spark のログが含まれます
- Unity カタログ ワークスペース カタログ: ワークスペースが Unity カタログに対して自動的に有効になっている場合、ワークスペース ストレージ アカウントには既定のワークスペース カタログが含まれます。 ワークスペースのすべてのユーザーは、このカタログ内の既定のスキーマで資産を作成できます。 Unity カタログについて始めに知っておくべきことを参照してください
- DBFS (レガシ): DBFS ルートマウントと DBFS マウントはレガシであり、ワークスペースで無効になる可能性があります。 DBFS (Databricks ファイル システム) は、
dbfs:/名前空間でアクセスできる Azure Databricks 環境の分散ファイル システムです。 DBFS ルートと DBFS マウントは、両方ともdbfs:/名前空間にあります。 DBFS ルートまたは DBFS マウントを使用したデータの保存とアクセスは非推奨のパターンであり、Databricks では推奨されません。 詳細については、「DBFS とは」を参照してください。
ワークスペース ストレージ アカウントへのアクセスを、承認されたリソースとネットワークからのみに制限するには、「ワークスペース ストレージ アカウントのファイアウォール サポートを有効にする」を参照してください。