Avantages d’une migration de MongoDB vers Cosmos DB
Une migration de MongoDB vers Cosmos DB présente des avantages, notamment sur la plan de la scalabilité, de la distribution à l’échelon mondial et de la gestion des serveurs.
En tant que développeur de base de données en chef, vous souhaitez comprendre les avantages d’une possible migration de vos charges de travail de base de données vers Azure. Cosmos DB propose des fonctionnalités uniques que vous ne trouvez pas dans les bases de données locales classiques basées sur des documents.
Dans cette unité, vous allez explorer les fonctionnalités de CosmosDB dont vous pouvez tirer parti, tout en préservant la compatibilité de l’API avec vos applications MongoDB existantes.
Extensibilité
En migrant votre base de données vers Azure, vous bénéficiez d’une capacité de stockage illimitée et d’une scalabilité élastique qui profite aux performances. Pour définir le niveau de performance, vous spécifiez les unités de requête (RU) pour le débit au niveau du conteneur ou de la base de données.
Spécification du débit de conteneur
La solution la plus courante consiste à spécifier le débit au niveau du conteneur. Cela garantit un débit uniforme entre toutes les partitions logiques du conteneur et le débit est exclusif à ce conteneur. Comme le débit est uniforme entre les partitions logiques, si une partition dépasse le seuil défini, son débit sera limité, même si les autres partitions ont du débit à disposition. C’est pourquoi il est important de configurer votre clé de partitionnement pour éviter les partitions chaudes.
Spécification du débit de base de données
En spécifiant le débit au niveau de la base de données, vous le partagez entre les conteneurs. Cela peut être utile si le débit des conteneurs varie régulièrement, mais que le débit total de la base de données reste relativement statique. Le débit au sein de chaque conteneur reste uniforme entre les partitions logiques et si une partition dépasse le seuil défini, son débit sera limité, même si les autres partitions ont du débit à disposition.
Vous pouvez à tout moment modifier le débit, et le débit maximal est illimité pour un conteneur ou une base de données.
Pour plus d’informations sur les avantages de la migration, consultez la section Rationale de l’article Move MongoDB to Azure Cosmos DB.
Multirégion
Azure Cosmos DB peut être distribué à l’échelon mondial dans toutes les régions. Vous pouvez localiser votre base de données à proximité de vos utilisateurs ou, si vos utilisateurs sont disséminés dans le monde entier, vous pouvez ajouter et supprimer des régions à tout moment. En plaçant les données à proximité des utilisateurs, vous réduisez la latence et améliorez l’expérience utilisateur.
Si votre base de données se trouve dans une seule région, un Contrat de niveau de service (SLA) peut vous garantir une disponibilité de la base de données à 99,99 % du temps, mais si vous la déployez dans plusieurs régions, vous bénéficiez d’un contrat SLA offrant une disponibilité en lecture et écriture de 99,999 %. Même en cas de panne régionale, Azure Cosmos DB bascule automatiquement vers une autre région tout en préservant les contrats SLA.
La réplication entre les régions est gérée automatiquement tout en préservant le niveau de cohérence que vous avez défini.
Le débit est configuré au niveau de la base de données ou du conteneur, et non au niveau régional. Par conséquent, vous disposerez automatiquement d’un débit identique dans toutes les régions où vous effectuez le déploiement.
Gestion de serveur
Azure Cosmos DB est un service managé qui demande une gestion minime de la configuration et des activités poursuivies.
Diffusion mondiale
Répliquer des données dans une autre région est d’une grande simplicité. Il vous suffit de spécifier la région pour que les données y soient répliquées en intégralité ; les paramètres de débit et la réplication sont configurés automatiquement.
Gestion des schémas et des index
Cosmos DB n’est pas dépendant d’un schéma et indexe automatiquement toutes les données. Ainsi, le schéma et les index de la base de données n’ont pas besoin d’être conservés avec le schéma de votre application. Cela vous libère d’une charge de travail considérable, en particulier quand votre base de données est distribuée à l’échelon mondial.