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

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

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

ワークロードをサーバレス・コンピュートに移行する

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

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

  • アクセスするデータは Unity Catalog に保存されている必要があります。

  • ワークロードは共有アクセス モード コンピュートと互換性がある必要があります。

  • ワークロードは、Databricks Runtime 14.3 以上と互換性がある必要があります。

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

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

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

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

インジェストに使用できる別の戦略には、次のものがあります。

インジェストの代替手段

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

  • データの重複を制限したり、可能な限り最新のデータをクエリしていることを保証したりする場合は、Databricks では Delta Sharing の使用を推奨します。 「Delta Sharingは何ですか?」を参照してください。

  • アドホックなレポート作成や概念実証作業を行いたい場合、 Databricks正しい選択、たとえばレイクハウスフェデレーションを試すことをお勧めします。 レイクハウスフェデレーションを使用すると、データベース全体を外部システムからDatabricksに同期でき、 Unity Catalogによって管理されます。 レイクハウスフェデレーションとは何ですか?を参照してください。

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

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

サーバレス コンピュートのコストを監視するために使用できる機能は複数あります。