Créer des conteneurs et des bases de données Azure Cosmos DB en débit de mise à l’échelle automatique
S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table
Dans Azure Cosmos DB, vous pouvez configurer un débit approvisionné standard (manuel) ou approvisionné en mode de mise à l’échelle automatique sur vos bases de données et conteneurs. Le débit approvisionné en mode de mise à l’échelle automatique dans Azure Cosmos DB vous permet de mettre à l’échelle le débit (RU/s) de votre base de données ou conteneur automatiquement et instantanément.
Le débit approvisionné en mode de mise à l’échelle automatique est adapté aux charges de travail stratégiques qui ont des modèles de trafic variables ou imprévisibles et qui nécessitent des contrats SLA sur des performances et une mise à l’échelle élevées. La mise à l'échelle automatique par défaut fait évoluer les charges de travail en fonction de la région et de la partition les plus actives. Pour les charges de travail non uniformes qui ont différents modèles de charges de travail entre les régions et les partitions, cette mise à l’échelle peut entraîner des scale-ups inutiles. La mise à l'échelle dynamique ou la mise à l'échelle automatique dynamique est une amélioration de la mise à l'échelle automatique provisionnée qui permet la mise à l'échelle de ces charges de travail non uniformes de manière indépendante en fonction de l'utilisation, au niveau de chaque région et de chaque partition. La mise à l'échelle dynamique vous permet de réduire les coûts si vous rencontrez souvent des partitions chaudes et/ou si vous avez plusieurs régions.
Avantages de la mise à l’échelle automatique
Les bases de données et conteneurs Azure Cosmos DB configurés avec un débit approvisionné en mode de mise à l’échelle automatique présentent les avantages suivants :
Simple : La mise à l’échelle automatique élimine la complexité liée à la gestion de l’unité de requête/s avec des scripts personnalisés ou une capacité de mise à l’échelle manuelle.
Évolutifs : Les bases de données et les conteneurs mettent automatiquement à l’échelle le débit approvisionné le cas échéant. Les connexions client et les applications ne sont pas interrompues et il n’y a aucun impact sur les contrats de niveau de service Azure Cosmos DB.
Économiques : la mise à l’échelle automatique permet d’optimiser l’utilisation et le coût de l’utilisation de l’unité de requête/s en mettant à l’échelle la taille des unités quand elles ne sont pas utilisées. Vous payez uniquement les ressources dont vos charges de travail ont besoin sur une base horaire. Sur l’ensemble des heures du mois, si vous définissez le nombre maximal de RU/s(Tmax) avec mise à l’échelle automatique et que vous utilisez la totalité de Tmax pour 66 % des heures ou moins, la mise à l’échelle automatique vous permet de faire des économies. En plus de la mise à l’échelle dynamique, l’ajout d’une région secondaire pour la haute disponibilité est plus économique, car chaque région et chaque partition est mise à l’échelle indépendamment en fonction de l’utilisation réelle. Pour en savoir plus, consultez l’article qui explique comment choisir entre le débit provisionné standard (manuel) et avec mise à l’échelle automatique.
Hautement disponibles : les bases de données et les conteneurs qui utilisent la mise à l’échelle automatique utilisent le même backend Azure Cosmos DB distribué à l'échelle mondiale, à tolérance de panne et à haute disponibilité pour garantir la durabilité des données et la haute disponibilité.
Cas d’usage de la mise à l’échelle automatique
Les cas d’usage de la mise à l’échelle automatique incluent :
Charges de travail imprévisibles ou variables : Lorsque vos charges de travail ont des pics variables ou imprévisibles dans le cadre de l’utilisation, la mise à l’échelle automatique vous aide à mettre à l’échelle automatiquement vers le bas ou vers le haut en fonction de l’utilisation. Les exemples incluent des sites web de vente au détail qui ont des modèles de trafic différents en fonction du caractère saisonnier ; des charges de travail IOT qui ont des pics à différents moments de la journée ; des applications métier qui voient l’utilisation maximale plusieurs fois par mois ou par an et bien plus encore. Avec la mise à l’échelle automatique, vous n’avez plus besoin de configurer manuellement la capacité au moment des pics ou moyenne.
Nouvelles applications : Si vous développez une nouvelle application et que vous n’êtes pas sûr du débit (RU/s) dont vous avez besoin, la mise à l’échelle automatique facilite la prise en main. Vous pouvez commencer par le point d’entrée de la mise à l’échelle automatique de 100 à 1000 RU/s, monitorer votre utilisation et déterminer l’unité de requête/s appropriée au fil du temps.
Applications peu utilisées : si vous disposez d'une application qui n'est utilisée que quelques heures plusieurs fois par jour, par semaine ou par mois, comme une application/un site Web/un blog à faible volume. La mise à l'échelle automatique ajuste la capacité pour gérer les pics d'utilisation et diminue lorsqu'ils sont terminés.
Charges de travail de développement et de test :si votre équipe ou vous-même utilisez des bases de données et des conteneurs Azure Cosmos DB pendant les heures de travail, mais que vous n’en avez pas besoin la nuit ou pendant le week-end, la mise à l’échelle automatique vous permet de réduire les coûts en réduisant au minimum en cas de non-utilisation.
Charges de travail/requêtes de production planifiées : Si vous avez une série de demandes, d’opérations ou de requêtes planifiées que vous souhaitez exécuter pendant les périodes d’inactivité, vous pouvez le faire facilement avec la mise à l’échelle automatique. Lorsque vous devez exécuter la charge de travail, le débit est automatiquement mis à l’échelle jusqu’à la valeur nécessaire et diminue après.
La création d’une solution personnalisée pour ces problèmes nécessite non seulement un temps considérable, mais également une complexité dans la configuration ou le code de votre application. La mise à l’échelle automatique met en œuvre les scénarios prêts à l’emploi ci-dessus et élimine la nécessité d’une mise à l’échelle personnalisée ou manuelle de la capacité.
Cas d'utilisation de la mise à l'échelle dynamique
Les cas d’utilisation de la mise à l’échelle dynamique incluent :
- Charges de travail de bases de données qui ont une région primaire à trafic élevé et une région passive secondaire pour la récupération d’urgence.
- Avec la mise à l’échelle dynamique, l’obtention de la haute disponibilité avec plusieurs régions est plus rentable. La région secondaire effectue un scale-down de manière indépendante et automatique lorsqu’elle est inactive. La région secondaire effectue également un scale-up de manière automatique lorsqu’elle devient active et lors de la gestion du trafic de la réplication d’écriture de la région primaire.
- Charges de travail de bases de données multirégions.
- Ces charges de travail affichent souvent une répartition inégale des requêtes entre les régions en raison de la croissance et des baisses naturelles du trafic tout au long de la journée. Par exemple, une base de données peut être active pendant les heures d’ouverture sur les fuseaux horaires répartis à l’échelle mondiale.
Comment fonctionne le débit approvisionné en mode de mise à l’échelle automatique
Lors de la configuration de conteneurs et de bases de données avec mise à l’échelle automatique, vous devez spécifier le débit maximal Tmax
requis. Azure Cosmos DB met à l’échelle le débit T
tel que 0.1*Tmax <= T <= Tmax
. Par exemple, si vous définissez le débit maximal sur 20 000 RU/s, le débit est mis à l’échelle entre 2 000 et 20 000 RU/s. Étant donné que la mise à l’échelle est automatique et instantanée, à tout moment, vous pouvez consommer jusqu’à Tmax
approvisionné sans retard.
Vous êtes facturé toutes les heures pour le débit le plus élevé T
sur lequel le système est mis à l’échelle dans l’heure. Lorsque la mise à l’échelle dynamique est activée, la mise à l’échelle est basée sur l’utilisation de RU/s à chaque partition physique et région. Comme chaque partition et chaque région évoluent indépendamment, cela peut conduire à des économies de coûts pour les charges de travail non uniformes, car les mises à l'échelle inutiles sont évitées.
Le point d’entrée pour le débit maximal de mise à l’échelle automatique Tmax
démarre à 1000 RU/s. Le débit peut aller de 100 à 1000 RU/s. Vous pouvez définir Tmax
par incréments de 1 000 RU/s et modifier la valeur à tout moment.
Par exemple, si nous avons une collection avec 1 000 RU/s et 2 partitions, chaque partition peut atteindre jusqu’à 500 RU/s. Pendant une heure d’activité, l’utilisation ressemble à ceci :
Région | Partition | Débit | Utilisation | Notes |
---|---|---|---|---|
Écrire | P1 | < = 500 RU/s | 100 % | 500 RU/s composées de 50 RU/s utilisées pour les opérations d’écriture et 450 RU/s pour les opérations de lecture. |
Écrire | P2 | < = 200 RU/s | 40 %% | 200 RU/s composées de toutes les opérations de lecture. |
Lire | P1 | < = 150 RU/s | 30 % | 150 RU/s composées de 50 RU/s utilisées pour les écritures répliquées à partir de la région d’écriture. 100 RU/s sont utilisées pour les opérations de lecture dans cette région. |
Lire | P2 | < = 50 RU/s | 10 % |
Sans mise à l’échelle dynamique, toutes les partitions sont mises à l’échelle uniformément en fonction de la partition la plus chaude. Dans cet exemple, étant donné que la partition la plus chaude avait une utilisation de 100 %, toutes les partitions des régions d'écriture et de lecture sont mises à l'échelle à 1 000 RU/s, ce qui porte le nombre total de RU/s à 2 000 RU/s.
Avec la mise à l'échelle dynamique, étant donné que le débit de chaque partition et de chaque région est mis à l'échelle indépendamment, le nombre total de RU/s mis à l'échelle serait de 900 RU/s, ce qui reflète mieux le modèle de trafic réel et réduit les coûts.
Activation de la mise à l'échelle automatique sur les ressources existantes
Pour activer la mise à l'échelle automatique sur une base de données ou un conteneur existant, utilisez le portail Azure, l'interface CLI ou PowerShell. Vous pouvez basculer entre la mise à l’échelle automatique et le débit approvisionné standard (manuel) à tout moment. Pour plus d’informations, consultez cette documentation.
Limites de débit et de stockage pour la mise à l’échelle automatique
Pour toute valeur de Tmax
, la base de données ou le conteneur peut stocker un total de 0.1 * Tmax GB
. Une fois ce volume de stockage atteint, la RU/s maximale est automatiquement augmentée en fonction de la nouvelle valeur de stockage, sans impacter votre application.
Par exemple, si vous démarrez avec une unité de requête/s maximale de 50 000 RU/s (avec une mise à l’échelle de 5 000 à 50 000 RU/s), vous pouvez stocker jusqu’à 5 000 Go de données. Si vous dépassez 5 000 Go, par exemple si le stockage est à présent de 6 000 Go, la nouvelle RU/s maximale sera de 60 000 RU/s (mises à l’échelle entre 6 000 et 60 000 RU/s).
Quand vous utilisez le débit au niveau de la base de données avec la mise à l’échelle automatique, vous pouvez faire en sorte que les 25 premiers conteneurs partagent une unité de requête/s maximale de 1 000 (mise à l’échelle entre 100 et 1 000 RU/s), à condition que vous ne dépassiez pas 100 Go de stockage. Pour plus d’informations, consultez cette documentation.
Activation de la mise à l'échelle dynamique
La mise à l’échelle dynamique est activée par défaut pour tous les comptes Azure Cosmos DB créés après le25 septembre 2024. Les clients qui souhaitent activer cette fonctionnalité pour leurs comptes plus anciens peuvent le faire par programmation via l’Azure PowerShell/CLI/l’API Rest ou à partir du volet fonctionnalités du portail Azure comme indiqué :
Dans le portail Azure, accédez à votre compte Azure Cosmos DB.
Accédez à la page Fonctionnalités.
Recherchez et activez la fonctionnalité Mise à l’échelle dynamique (mise à l’échelle automatique par région et par partition).
Important
La fonctionnalité est activée au niveau du compte. Par conséquent, elle s’applique à l’ensemble des conteneurs de mise à l’échelle automatique et des bases de données de débit partagé du compte. L’activation de cette fonctionnalité n’affecte pas les ressources du compte qui utilisent un débit manuel. Les ressources manuelles doivent être remplacées par la mise à l’échelle automatique pour tirer parti de la mise à l’échelle dynamique. L’activation de cette fonctionnalité ne présente aucun temps d’arrêt ni aucun impact sur les performances. Cette fonctionnalité n’est pas applicable aux comptes serverless.
Surveillance Métriques
Vous pouvez utiliser les mesures suivantes pour surveiller la mise à l'échelle automatique et la mise à l'échelle dynamique :
Nom de métrique | Définition | Utilisation de la métrique |
---|---|---|
Débit approvisionné | Affiche les RU/s les plus élevées agrégées mises à l’échelle sur l’heure et représente le nombre total de RU/s mises à l’échelle pour l’heure. | Vous pouvez utiliser la métrique Provisioned Throughput pour voir les RU/s pour lesquelles vous êtes facturé par heure. Avec la mise à l'échelle automatique, vous êtes facturé en fonction de la partition la plus active pour chaque heure et la même chose s'applique à toutes les partitions et régions. Avec la mise à l’échelle automatique dynamique, vous êtes facturé pour les RU/s les plus élevées agrégées par heure au niveau de chaque partition et région. |
Consommation d’unités de requête normalisée | Cette métrique représente le rapport entre Les RU/s consommées et les RU/s approvisionnées au niveau de chaque partition et région. | Utilisez cette métrique pour déterminer si le débit maximal de mise à l’échelle automatique est sous ou surprovisionné. Si la valeur de la métrique est constamment à 100 % et que votre application voit la limitation du débit (code d’erreur 429), vous avez peut-être besoin de plus de RU/s. En revanche, si la valeur de cette métrique est faible et qu’il n’y a pas de limitation de débit, il peut y avoir de la place pour optimiser et réduire le nombre de RU/s. En savoir plus sur l’interprétation et le débogage des erreurs de code 429 de limitation de débit. La métrique Normalized RU Consumption reflète les RU/s consommées dans la région secondaire en raison du trafic de réplication en écriture à partir du serveur principal, en plus de tout trafic de lecture sur le serveur secondaire. |
RU mise à l’échelle automatiquement | Affiche le débit provisionné à l’échelle dynamique à chaque niveau de partition et à chaque niveau de région uniquement pour les comptes avec mise à l’échelle automatique dynamique. | Utilisez cette métrique pour voir comment les partitions de chaque région sont mises à l’échelle indépendamment en fonction de leur utilisation. Utilisez les métriques Azure Monitor - Autoscaled RU pour analyser la façon dont la nouvelle mise à l’échelle automatique est appliquée entre les partitions et les régions. Filtrez selon le compte et le conteneur de base de données que vous souhaitez, puis filtrez ou fractionnez en fonction de la métrique Physical PartitionID. Cette métrique affiche toutes les partitions de leurs différentes régions. |
Comparaison : conteneurs configurés en mode manuel contre débit de mise à l’échelle automatique
Pour plus d’informations, consultez cette documentation sur la façon de choisir entre le débit standard (manuel) et le débit de mise à l’échelle automatique.
Conteneurs avec débit standard (manuel) | Conteneurs avec débit de mise à l’échelle automatique | |
---|---|---|
Débit approvisionné (RU/s) | Approvisionné manuellement. | Mise à l’échelle automatique et instantanée en fonction des modèles d’utilisation de la charge de travail. |
Limitation du nombre de demandes/opérations (429) | Peut intervenir si la consommation dépasse la capacité approvisionnée. | Cela ne se produit pas si vous consommez des RU/s dans la plage de débit de mise à l’échelle automatique configurée. |
Planification de la capacité | Vous devez procéder à une planification de la capacité et définir le débit exact dont vous avez besoin. | Le système prend automatiquement en charge la planification et la gestion de la capacité. |
Tarification | Vous payez pour l’unité de requête/s approvisionnée manuellement par heure, à l’aide de l’unité de requête/s standard (manuelle) par taux horaire. | Vous payez par heure pour l’unité de requête/s la plus élevée pour laquelle le système effectue un scale-up dans l’heure. Pour les comptes à une seule région d’écriture, vous payez pour l’unité de requête/s utilisée sur une base horaire, en utilisant l’unité de requête/s de mise à l’échelle automatique par taux horaire. Pour les comptes à plusieurs régions d’écriture, aucuns frais supplémentaires ne s’appliquent au mode de mise à l’échelle automatique. Vous payez le débit utilisé sur une base horaire en utilisant le même taux horaire de RU/s pour les écritures multirégions. |
Idéal pour les types de charges de travail | Charges de travail prévisibles et stables | Charges de travail imprévisibles et variables |
Migrer le débit approvisionné standard vers une mise à l’échelle automatique
Les utilisateurs souhaitant migrer un grand nombre de ressources du débit approvisionné standard vers une mise à l’échelle automatique peuvent utiliser un script Azure CLI pour migrer chaque ressource de débit dans un abonnement pour une mise à l’échelle automatique. Pour plus d’informations, consultez Convertir en mise à l’échelle automatique.
Étapes suivantes
- Examinez le FAQ sur la mise à l’échelle automatique.
- Découvrez comment choisir entre le débit manuel et de mise à l’échelle automatique.
- Découvrez comment approvisionner le débit de mise à l’échelle automatique sur une base de données ou un conteneur Azure Cosmos DB.
- En savoir plus sur le partitionnement dans Azure Cosmos DB.
- Vous tentez d’effectuer une planification de la capacité pour une migration vers Azure Cosmos DB ? Vous pouvez utiliser les informations sur votre cluster de bases de données existant pour la planification de la capacité.
- Si vous ne connaissez que le nombre de vCore et de serveurs présents dans votre cluster de bases de données existant, lisez Estimation des unités de requête à l’aide de vCore ou de processeurs virtuels.
- Si vous connaissez les taux de requêtes typiques de votre charge de travail de base de données actuelle, lisez la section concernant l’estimation des unités de requête à l’aide du planificateur de capacité Azure Cosmos DB