Serverless vs. compute classique pour les pipelines
Chaque pipeline LakeFlow Pipelines exécute ses mises à jour sur un compute Serverless ou classique. Le type de compute est un paramètre défini par pipeline que vous choisissez dans les paramètres du pipeline. Ce n'est pas automatique : un pipeline s'exécute sur un compute Serverless uniquement lorsque vous activez le paramètre Serverless , et s'exécute sur un compute classique dans le cas contraire. Cette page compare les deux options afin que vous puissiez choisir celle qui convient à chaque pipeline.
Databricks recommande le compute serverless pour la quasi-totalité des pipelines. Avec le serverless, Databricks gère l'infrastructure pour vous. Il n'y a aucun clusters à dimensionner, configurer, sécuriser ou pour lesquels accorder des autorisations, et vous bénéficiez de fonctionnalités que le compute classique ne peut pas offrir, telles que le refresh incrémentiel et la mise à l'échelle automatique verticale. Avec le compute classique, il vous incombe de configurer et de maintenir cette infrastructure. Le serverless prend en charge presque tout ce que le compute classique permet de faire. Les exceptions sont le Hive metastore hérité et certaines configurations réseau. Pour la plupart des pipelines, choisir le compute classique implique d'effectuer manuellement des tâches que le serverless prendrait en charge autrement.
L’refresh incrémentiel pour les vues matérialisées est disponible uniquement sur les pipelines Serverless. Les vues matérialisées exécutées sur du compute classique sont toujours entièrement recalculées. Si une refresh incrémentielle est nécessaire pour votre charge de travail, utilisez le compute Serverless. Voir refresh incrémentielle pour les vues matérialisées.
Comparer les options de compute
Le tableau suivant compare le compute serverless et le compute classique en fonction des capacités qui motivent le plus souvent ce choix :
Compétence | Serverless | Classique |
|---|---|---|
Gestion de l’infrastructure | Databricks gère toute l'infrastructure. Il n'y a aucune configuration de cluster. | Vous devez configurer les clusters, notamment la mise à l'échelle automatique, les types d'instance et les règles de cluster. |
Refresh incrémentiel pour les vues matérialisées | Pris en charge. Les vues matérialisées sont actualisées de manière incrémentielle dès que cela est rentable, afin de réduire les coûts de compute. Consultez Incremental refresh for materialized views. | Non pris en charge. Les vues matérialisées sont toujours entièrement recalculées. |
Dimensionnement automatique | Autoscaling amélioré qui monte en charge horizontalement (plus d’exécuteurs) et verticalement (exécuteurs plus grands). Voir Optimiser l’utilisation du cluster de LakeFlow pipeline avec l’autoscaling. | Dimensionnement automatique amélioré qui permet de monter en charge horizontalement. Vous sélectionnez les types d'instance. |
Pipeline de Stream | Activé par default. Les micro-lots s'exécutent simultanément pour améliorer le throughput et la latence. Voir Configurer un pipeline serverless. | Non disponible. |
Autorisation de création de compute | Non requis. Tous les utilisateurs du Workspace peuvent exécuter des pipelines Serverless par « default ». | Obligatoire. Les utilisateurs doivent disposer de l’autorisation de création de clusters sans restriction ou d’un accès à une politique de compute. |
Politiques de compute et types d'instance | Géré par Databricks. Vous ne définissez pas de types d’instance ni de politique de compute. | Vous appliquez manuellement une politique de compute et sélectionnez les types d’instances worker et driver. |
Unity Catalog | Utilise toujours Unity Catalog. | Vous pouvez utiliser Unity Catalog ou le Hive metastore hérité. |
Attribution des coûts | Appliquez des tags personnalisés avec une politique d’utilisation serverless. | Appliquer des tags personnalisés au pipeline. Vous devez joindre manuellement les données de tag aux données de facturation. |
Clusters de mise à jour et de maintenance | Géré par Databricks. | Vous configurez les clusters de mise à jour et de maintenance séparément. |
Compute à nœud unique | Non nécessaire. Databricks dimensionne automatiquement le compute pour la charge de travail. | Vous configurez un compute à nœud unique pour des charges de travail réduites ou non distribuées. |
Quand utiliser le compute serverless
Utilisez le compute Serverless pour tout pipeline qui ne rencontre pas l'une des limitations liées au compute classique ci-dessous. En particulier, le serverless est le bon choix lorsque :
- Vous souhaitez que Databricks gère l'infrastructure pour vous, y compris la mise à l'échelle verticale et la sélection d'instances, au lieu de configurer et de maintenir vous-même les clusters.
- Vous souhaitez un refresh incrémentiel pour les vues matérialisées afin de réduire les coûts de refresh.
- Vous souhaitez que les utilisateurs du Workspace exécutent des pipelines sans disposer des autorisations de création de clusters.
Les pipelines serverless nécessitent un workspace avec Unity Catalog activé et une région compatible serverless. Pour les prérequis et la configuration, voir Configurer un pipeline serverless.
Quand utiliser le compute classique
Serverless prend en charge presque toutes les charges de travail de pipeline ; utilisez donc le compute classique uniquement lorsque serverless ne peut pas exécuter votre pipeline du tout :
- Vos tables utilisent le Hive metastore hérité au lieu de Unity Catalog. Pour migrer les tables du Hive metastore vers Unity Catalog et activer le mode Serverless, consultez Mettre à niveau les tables et vues Hive vers Unity Catalog.
- Votre pipeline nécessite une mise en réseau privée que le mode Serverless ne prend pas en charge.
- Votre pipeline s’exécute dans une région où le serverless n’est pas disponible.
Avec le compute classique, les politiques de compute, les types d’instances, le compute à nœud unique ainsi que les clusters de mise à jour et de maintenance distincts sont à configurer et à maintenir par vos soins, un travail que le serverless effectue pour vous.
Pour les options de configuration et d’installation, consultez Configurer le compute classique pour les pipelines.
Définir le type de compute
Vous choisissez le type de compute dans les paramètres Compute du pipeline en activant ou en désactivant le paramètre Serverless . Les nouveaux pipelines utilisent Serverless par default. Vous pouvez également convertir un pipeline existant configuré avec Unity Catalog en Serverless.
- Pour configurer et convertir des pipelines serverless, consultez Configurer un pipeline serverless.
- Pour configurer le compute classique, consultez Configurer le compute classique pour les pipelines.