Partager via


Dimensionnement, mise à l'échelle et comportement de mise en file d'attente de l'entrepôt SQL

Cet article explique comment dimensionner, mettre à l’échelle et gérer des files d’attente de requêtes pour les entrepôts Databricks SQL afin d’optimiser les performances et les coûts. Databricks recommande d’utiliser un entrepôt SQL serverless pour la plupart des charges de travail. Les entrepôts SQL serverless offrent les meilleures performances et efficacité en gérant dynamiquement les ressources de vos requêtes.

Gestion serverless DE SQL Warehouse

Les entrepôts SQL serverless utilisent la gestion intelligente des charges de travail (IWM) pour gérer automatiquement les charges de travail de requête. IWM est un ensemble de fonctionnalités basées sur l’IA qui traitent les requêtes rapidement et rentables sans que vous deviez gérer l’infrastructure.

Gestion intelligente des charges de travail et mise à l’échelle automatique

IWM utilise des modèles Machine Learning pour gérer dynamiquement les ressources de calcul :

  • Lorsqu’une nouvelle requête arrive, IWM prédit ses besoins en ressources et vérifie la capacité disponible.
    • Si la capacité existe, la requête démarre immédiatement.
    • Si ce n’est pas le cas, la requête est placée dans une file d’attente.
  • IWM surveille en permanence la file d’attente. Si les temps d’attente augmentent, le générateur de mise à l’échelle automatique provisionne rapidement davantage de clusters pour traiter les requêtes mises en file d’attente.
  • Lorsque la demande diminue, IWM réduit les ressources pour réduire les coûts tout en conservant suffisamment de capacité pour gérer les pics récents.

Cette approche fournit les éléments suivants :

  • Mise à l’échelle rapide pour maintenir une faible latence de requête.
  • Débit élevé en admettant des requêtes dès que le matériel est disponible.
  • Mise à l’échelle rapide pour économiser des coûts pendant la faible demande.

Dimensionnement d’un entrepôt SQL serverless

La taille du cluster (par exemple, X-Small, Medium, Large) détermine les ressources de calcul disponibles pour un seul cluster. Le générateur de mise à l’échelle automatique ajoute ou supprime les clusters de cette taille si nécessaire.

Utilisez les instructions suivantes pour vous aider à choisir la taille appropriée :

  • Commencez par un entrepôt plus grand et laissez les fonctionnalités serverless gérer la concurrence et les performances. Il est généralement plus efficace de réduire la taille si nécessaire que pour démarrer petit et monter en puissance.
  • Si les requêtes se déversent sur le disque, augmentez la taille du cluster. Recherchez les déversements dans le profil de requête.
  • Pour les charges de travail avec de nombreuses requêtes simultanées, configurez un nombre maximal suffisant de clusters pour gérer les pics de charge. Surveillez la métrique Peak Queued Queries sur la page de surveillance de l’entrepôt.

Remarque

Pour les entrepôts SQL serverless, les tailles de cluster peuvent, dans certains cas, utiliser différents types d’instances que ceux répertoriés dans la documentation pour les entrepôts SQL professionnels et classiques pour une taille de cluster équivalente. En général, le rapport prix/performances des tailles de cluster pour les entrepôts SQL serverless est similaire à celui des entrepôts SQL pro et classiques.

Surveillance des performances de l’entrepôt

Vous pouvez surveiller et dimensionner correctement n’importe quel entrepôt SQL à l’aide de ces outils. Le nombre maximal de requêtes dans une file d’attente pour tous les types d’entrepôt est de 1 000.

  • Page Surveillance : Sous l’onglet Surveillance de SQL Warehouse, vérifiez les requêtes en file d’attente maximales. Une valeur cohérente supérieure à 0 indique que vous pouvez avoir besoin d’une plus grande taille de cluster ou plus de clusters.
  • Historique des requêtes : Passez en revue les performances des requêtes historiques pour identifier les goulots d’étranglement.
  • Profil de requête : Inspectez les plans d’exécution pour les métriques telles que les octets déversés sur le disque, ce qui indique que la taille de l’entrepôt peut être trop petite.

Entrepôts SQL classiques et professionnels

Les entrepôts classiques et professionnels utilisent un modèle de mise à l’échelle manuel où vous configurez le nombre de clusters.

Dimensionnement et approvisionnement de cluster

Lors de la création d’un entrepôt classique ou professionnel, choisissez une taille de cluster et définissez le nombre minimal et maximal de clusters. Ces références SKU ont une limite fixe d’un cluster par 10 requêtes simultanées.

Taille du cluster Type d’instance de pilote Nombre de rôles de travail
2x-Small Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Small Standard_E8ds_v4 2 x Standard_E8ds_v4
Petite Standard_E16ds_v4 4 x Standard_E8ds_v4
Moyenne Standard_E32ds_v4 8 x Standard_E8ds_v4
grand Standard_E32ds_v4 16 x Standard_E8ds_v4
X-Large Standard_E64ds_v4 32 x Standard_E8ds_v4
2X-Grand Standard_E64ds_v4 64 x Standard_E8ds_v4
3X-Grand Standard_E64ds_v4 128 x Standard_E8ds_v4
4X-Large Standard_E64ds_v4 256 x Standard_E8ds_v4

La taille d’instance de tous les rôles de travail est Standard_E8ds_v4.

Chaque conducteur et travailleur dispose d’un disque SSD Premium LRS de 256 Go managé et connecté. Les disques attachés sont facturés toutes les heures.

Quota Azure vCPU requis pour les entrepôts SQL classiques et professionnels

Pour démarrer un entrepôt SQL classique ou professionnel, vous devez disposer d'un quota Azure vCPU adéquat pour les instances Standard_E8ds_v4 dans votre compte Azure. Utilisez les instructions suivantes pour déterminer le quota de processeurs virtuels requis :

Si vous n’avez qu’un ou deux entrepôts SQL, vérifiez que vous disposez de 8 processeurs virtuels Azure disponibles pour chaque cœur du cluster. Cela garantit que vous disposez d’un processeur virtuel Azure adéquat pour permettre la réapprovisionnement de votre entrepôt, ce qui se produit environ toutes les 24 heures. Vous devrez peut-être augmenter le multiplicateur si vos entrepôts SQL utilisent la mise à l’échelle automatique ou l’équilibrage de charge multi-cluster.

  • À mesure que le nombre d’entrepôts SQL augmente, prévoyez entre 4 et 8 processeurs virtuels Azure pour chaque cœur du cluster. Databricks recommande de commencer avec un plus grand nombre et de surveiller la stabilité.
  • Les vCPUs Azure utilisés par les entrepôts SQL s'ajoutent aux vCPUs Azure utilisés par les clusters dans les domaines de la Data Science & Engineering ou par les charges de travail non-Databricks.

Pour demander un quota de processeurs virtuels Azure supplémentaire, consultez Quota standard : augmenter les limites par série de machines virtuelles dans la documentation Azure.

Remarque

Les informations contenues dans ce tableau peuvent varier en fonction de la disponibilité du produit ou de la région et du type d'espace de travail.

Logique de mise en file d’attente et de mise à l’échelle automatique

Pour les entrepôts classiques et professionnels, la mise à l’échelle automatique ajoute des clusters en fonction du temps estimé pour traiter toutes les requêtes en cours d’exécution et en file d’attente :

  • Charge de requête de 2 à 6 minutes : ajoutez 1 cluster.
  • 6 à 12 minutes : Ajouter 2 clusters.
  • 12 à 22 minutes : Ajoutez 3 clusters.
  • Plus de 22 minutes : ajoutez 3 clusters plus 1 plus pour toutes les 15 minutes de charge supplémentaires.

Règles supplémentaires :

  • Si une requête attend dans la file d’attente pendant 5 minutes, l’entrepôt augmente.
  • Si la charge reste faible pendant 15 minutes consécutives, l’entrepôt descend jusqu’au minimum nécessaire pour gérer la charge maximale à partir de cette période.