Optimiser le coût multirégion dans Azure Cosmos DB

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

Vous pouvez ajouter et supprimer des régions dans votre compte Azure Cosmos DB à tout moment. Le débit que vous configurez pour différentes bases de données et conteneurs Azure Cosmos DB est réservé dans chaque région associée à votre compte. Si le débit approvisionné par heure (soit la somme des RU/s configurées dans l’ensemble des bases de données et des conteneurs de votre compte Azure Cosmos DB) est égal à T et si le nombre de régions Azure associées à votre compte de base de données est de N, alors le débit total approvisionné pour votre compte Azure Cosmos DB pour une heure donnée est égal à T x N RU/s.

Le débit approvisionné avec une seule région d’écriture et le débit approvisionné avec plusieurs régions accessibles en écriture ont des coûts différents. Pour plus d’informations, consultez la Tarification d’Azure Cosmos DB.

Coûts pour plusieurs régions d’écriture

Dans un système d’écritures multirégions, le nombre net de RU/s disponibles pour les opérations d’écriture sont multipliées par N, avec N correspondant au nombre de régions d’écriture. Contrairement aux écritures dans une seule région, toutes les régions sont désormais accessibles en écriture et prennent en charge la résolution des conflits. Du point de vue du coût de planification, pour effectuer M RU/s d’écritures dans le monde, vous devez configurer M RU/s au niveau de la base de données ou du conteneur. Vous pouvez ensuite ajouter autant de régions que vous le souhaitez et les utiliser pour les écritures afin d’effectuer M RU/s d’écritures dans le monde entier.

Exemple

Imaginez que vous disposez d’un conteneur dans un scénario d’écriture à une seule région. Ce conteneur est approvisionné avec un débit de 10K RU/s et stocke 0.5 To de données ce mois-ci. Supposons à présent que vous ajoutiez une autre région, avec le même stockage et le même débit, et que vous souhaitez pouvoir écrire dans les conteneurs des deux régions à partir de votre application.

Cet exemple détaille votre nouvelle consommation totale mensuelle :

Utilisation mensuelle
Facture de débit pour le conteneur dans une seule région d’écriture 10K RU/s * 730 hours
Facture de débit pour le conteneur dans plusieurs régions d’écriture (deux) 2 * 10K RU/s * 730 hours
Facture de stockage pour le conteneur dans une seule région d’écriture 0.5 TB (or 512 GB)
Facture de stockage pour le conteneur dans deux régions d’écriture 2 * 0.5 TB (or 1,024 GB)

Remarque

Cet exemple suppose 730 heures par mois.

Améliorer l’utilisation du débit par région

Si votre utilisation est inefficace, vous pouvez prendre des mesures pour utiliser au maximum les RU/s dans les régions de lecture à l’aide du flux de modification de la région de lecture. Vous pouvez également passer à un autre secondaire s’il est surexploité. Une ou plusieurs régions de lecture sous-utilisées sont par exemple considérées comme inefficaces. Vous devez d’abord vous assurer d’optimiser le débit approvisionné (RU/s) dans la région d’écriture.

Les écritures coûtent plus cher que les lectures pour la plupart des cas, à l’exclusion des requêtes volumineuses. Assurer la maintenance de l’utilisation même peut être difficile. Surveillez en général le débit consommé dans vos régions et ajoutez/supprimez des régions à la demande pour la mise à l’échelle de votre débit de lecture/écriture. Assurez-vous de comprendre l’effet sur la latence pour toutes les applications déployées dans la même région.