サーバーレス コンピューティングのベスト プラクティス

この記事では、ノートブックとジョブでサーバーレス コンピューティングを使用するためのベスト プラクティスの推奨事項について説明します。

これらの推奨事項に従うことで、Azure Databricks でのワークロードの生産性、コスト効率、信頼性が向上します。

サーバーレス コンピューティングへのワークロードの移行

サーバーレス コンピューティングでは、ユーザー コードの分離を保護するために、Azure Databricks セキュア共有アクセス モードを利用します。 このため、一部のワークロードでは、サーバーレス コンピューティングでの作業を継続するためにコードの変更が必要になります。 サポートされていない機能の一覧については、「サーバーレス コンピューティングの制限事項」を参照してください。

特定のワークロードは、他のワークロードよりも移行が簡単です。 次の要件を満たすワークロードは、移行が最も簡単です。

  • アクセスするデータは Unity Catalog に格納する必要があります。
  • ワークロードは、共有アクセス モード コンピューティングと互換性がある必要があります。
  • ワークロードは、Databricks Runtime 14.3 以上と互換性がある必要があります。

ワークロードがサーバーレス コンピューティングで動作するかどうかをテストするには、共有アクセス モードと 14.3 以上の Databricks Runtime を使用して、非サーバーレス コンピューティング リソースで実行します。 実行が成功した場合、ワークロードの移行準備はできています。

この変更の重要性と現在の制限事項の一覧により、多くのワークロードはシームレスに移行されません。 Azure Databricks では、すべてを再コーディングする代わりに、新しいワークロードを作成するときにサーバーレス コンピューティングの互換性を優先することをお勧めします。

外部システムからのデータの取り込み

サーバーレス コンピューティングでは JAR ファイルのインストールがサポートされていないため、JDBC や ODBC ドライバーを使用して外部データ ソースからデータを取り込むことはできません。

インジェストに使用できる代替戦略には以下が含まれます。

取り込みの代替手段

サーバーレス コンピューティングを使う場合は、次の機能を使用して、データを移動せずにクエリを実行することもできます。

  • データの重複を制限するか、可能な限り最新のデータに対してクエリを実行することを保証する場合、Databricks では Delta Sharing を使用することをお勧めします。 「Delta Sharing とは」を参照してください。
  • カスタム レポートと概念実証作業を行う場合、Databricks では適切な選択肢 (Lakehouse フェデレーションである可能性がある) を試すことをお勧めします。 Lakehouse フェデレーションは、外部システムからデータベース全体を Azure Databricks に同期することを可能にし、Unity Catalog によって管理されます。 「Lakehouse フェデレーションとは」をご覧ください。

これらの機能のいずれかまたは両方を試して、クエリのパフォーマンス要件を満たしているかどうかを確認します。

サーバーレス コンピューティングのコストを監視する

アカウントのサーバーレス コンピューティングの使用コストの監視に役立つ課金対象の使用状況システム テーブル (パブリック プレビュー) を使用できます。 詳細については、「サーバーレス コンピューティングのコストを監視する」を参照してください。