高レベルのアーキテクチャ
この記事では、エンタープライズ アーキテクチャを含む Databricks アーキテクチャの概要を Google クラウドと組み合わせて説明します。
Databricksオブジェクト
Databricks アカウントは 、組織全体で Databricks を管理するために使用する最上位レベルの構成要素です。アカウント レベルでは、次のものを管理します。
-
ID とアクセス: ユーザー、グループ、サービスプリンシパル、 SCIMプロビジョニング、およびSSO構成。
-
ワークスペース管理: 複数のリージョンにわたるワークスペースを作成、更新、削除します。
-
Unity Catalogメタストア管理: メタストアを作成してワークスペースにアタッチします。
-
使用状況管理: 課金、コンプライアンス、ポリシー。
アカウントには複数のワークスペースと Unity Catalog メタストアを含めることができます。
-
ワークスペース は、ユーザーが取り込み、インタラクティブな探索、スケジュールされたジョブ、 MLトレーニングなどのワークロードを実行できるコラボレーション環境です。
-
Unity Catalog メタストアは、 テーブルや ML モデルなどのデータ資産の中心的なガバナンス システムです。メタストア内のデータは、次の 3 レベルの名前空間で整理されます。
<catalog-name>.<schema-name>.<object-name>
メタストアはワークスペースにアタッチされます。1 つのメタストアを同じリージョン内の複数のDatabricksワークスペースにリンクし、各ワークスペースに同じデータ ビューを与えることができます。 データ アクセス制御は、リンクされたすべてのワークスペースにわたって管理できます。

ワークスペースアーキテクチャ
Databricks は、 コントロールプレーン と コンピュートプレーン から動作します。
-
コントロールプレーン には、DatabricksアカウントでDatabricksが管理するバックエンドサービスが含まれます。 Webアプリケーションはコントロールプレーンにあります。
-
コンピュートプレーン は、データが処理される場所です。 使用するコンピュートに応じた2 種類のコンピュートプレーンが存在します。
- サーバレスコンピュートの場合、サーバレスコンピュートリソースはDatabricksアカウントの サーバレスコンピュートプレーン で実行されます。
- クラシック Databricks コンピュートの場合、コンピュート リソースは Google Cloud リソース内の クラシック コンピュートプレーン 内にあります。 これは、Google Cloud リソースとそのリソース内のネットワークを指します。
classic コンピュートとサーバレス コンピュートの詳細については、「 コンピュート」を参照してください。
従来のワークスペースアーキテクチャ
従来のDatabricksワークスペースには 、ワークスペース ストレージ バケット と呼ばれる 3 つの関連ストレージ バケットがあります。 ワークスペース ストレージ バケットは、Google クラウド アカウント内にあります。
次の図は、従来のワークスペースの一般的な Databricks アーキテクチャを示しています。

サーバレスワークスペースアーキテクチャ
サーバレスワークスペースのワークスペースストレージは、ワークスペースの勝手なストレージに保存されます。 クラウド ストレージ アカウントに接続してデータにアクセスすることもできます。次の図は、サーバレス ワークスペースの一般的なアーキテクチャを示しています。

サーバレス コンピュート プレーン
サーバレス コンピュート プレーンで、Databricks アカウント内のコンピュート レイヤーでコンピュート リソースDatabricks実行します。Databricks は、ワークスペースの従来のコンピュートプレーンと同じ Google Cloud リージョンにサーバレス コンピュートプレーンを作成します。 このリージョンは、ワークスペースの作成時に選択します。
サーバーレスコンピュートプレーン内の顧客データを保護するために、サーバーレスコンピュートはワークスペースのネットワーク境界内で実行され、さまざまなセキュリティレイヤーを使用して、同じ顧客のクラスター間で異なるDatabricksワークスペースと追加のネットワーク制御を分離します。
サーバレス コンピュート プレーンでのネットワークの詳細については、 サーバレス コンピュート プレーン ネットワークを参照してください。
クラシックコンピュートプレーン
従来のコンピュートプレーンでは、Google Cloud アカウントでDatabricksコンピュート リソースを実行 します。 新しいコンピュート リソースは、各ワークスペースの仮想ネットワーク内の顧客の Google Cloud アカウント内に作成されます。
従来のコンピュートプレーンは、各顧客自身のGoogle Cloudアカウントで実行されるため、自然に分離されています。 クラシック コンピュート プレーンでのネットワークの詳細については、「 クラシック コンピュート プレーン ネットワーク」を参照してください。
リージョンのサポートについては、「 Databricks のクラウドとリージョン」を参照してください。
ワークスペースストレージ
ワークスペースのストレージは、ワークスペースのタイプに応じて処理されます。 ワークスペースの種類の詳細については、 「ワークスペースの作成」を参照してください。
サーバレスワークスペース
サーバーレス ワークスペースは、ワークスペースのシステム データとUnity Catalogカタログのフルマネージド ストレージ場所である、当然ストレージを使用します。 サーバーレス ワークスペースは、クラウド ストレージの場所に接続する機能もサポートしています。 Databricks のデフォルト ストレージを参照してください。
従来のワークスペース
従来のワークスペースでは、ワークスペース ストレージ バケットとして使用するS3バケットとプレフィックスを提供する必要があります。 この S3 バケットには次のものが含まれます。
従来のワークスペースを作成すると、 Databricksワークスペース ストレージ バケットとして使用する 3 つのバケットを Google クラウド アカウントに作成します。
- 1 つのワークスペース ストレージ バケットには、ノートブックの作成など、さまざまな Databricks 機能を使用するときに生成される ワークスペース システム データ が格納されます。 このバケットには、ノートブックのリビジョン、ジョブ実行の詳細、コマンド結果、Spark ログが含まれます。
- もう 1 つのワークスペース ストレージ バケットは、ワークスペースの DBFS のルート ストレージです。これはレガシーであり、ワークスペースで無効になっている可能性があります。DBFS (Databricks ファイル システム) は、
dbfs:/名前空間でアクセスできる Databricks 環境の分散ファイル システムです。DBFSルートとDBFSマウントは両方ともdbfs:/名前空間にあります。 DBFSルートまたはDBFSマウントを使用してデータを保存およびアクセスすることは非推奨のパターンであり、 Databricksでは推奨されていません。 詳細については、 DBFSとは何ですか?」を参照してください。 。 - ワークスペースが自動的にUnity Catalogを有効にしている場合、3 番目のワークスペース ストレージ バケットには、デフォルト Unity Catalog ワークスペース カタログ が含まれます。ワークスペース内のすべてのユーザーは、このカタログのデフォルトスキーマでアセットを作成できます。「 Unity Catalog の概要」を参照してください。
ワークスペース ストレージ バケットへのアクセスを制限するには、「 プロジェクト内のワークスペースの GCS バケットを保護する」を参照してください。