Tables globales Amazon DynamoDB
Qu’est-ce que les Global Tables ?
Les tables globales Amazon DynamoDB sont une base de données entièrement gérée, sans serveur, multirégion et multi‑active. Les Global Tables vous offrent jusqu’à 99,999 % de disponibilité, une résilience accrue des applications et une meilleure continuité des activités. Comme les Global Tables répliquent automatiquement vos tables Amazon DynamoDB dans les régions AWS de votre choix, vous pouvez obtenir des performances locales rapides en lecture et en écriture.
Si le traitement de votre application est interrompu dans une région, il n’est pas nécessaire de procéder à un basculement de base de données, car l’architecture multiactive des tables globales permet aux clients de lire et d’écrire dans n’importe quelle table répliquée. Les Global Tables éliminent également la complexité liée à la résolution des conflits de mise à jour pour les charges de travail multirégion.
Les Global Tables prennent en charge à la fois le mode de cohérence forte et le mode de cohérence éventuelle pour les charges de travail multirégion. La cohérence forte multirégion vous offre le niveau le plus élevé de résilience des applications et permet aux applications des clients d’être toujours disponibles et de toujours lire les données les plus récentes à partir de n’importe quelle région. Vous pouvez désormais créer des applications avec un objectif de point de restauration égal à zéro. Avec la cohérence éventuelle multirégion, vous pouvez créer des réplicas au sein d’un seul compte AWS ou sur plusieurs comptes AWS.
Fonctionnement
Une table globale DynamoDB est composée de plusieurs tables de réplication. Chaque table de réplica existe dans une région différente, mais toutes les réplicas partagent le même nom et le même schéma de clé primaire. Lorsque des données sont écrites dans une table réplique, DynamoDB réplique automatiquement ces données dans toutes les autres tables répliques de la table globale.
Par exemple, supposons que votre application serve une large clientèle répartie sur trois zones géographiques : la côte Est des États-Unis, le Canada et l'Europe de l'Ouest. Sans tables globales, vous devriez créer une table dans chaque région AWS et écrire du code pour répliquer les changements de données dans chaque table de chaque région.
Avec les tables globales, vous pouvez créer une table globale avec une table de réplique dans les trois régions les plus proches de chaque zone géographique. DynamoDB répliquera automatiquement les modifications de n'importe quelle réplique vers les répliques des autres régions.
Les tables globales permettent aux utilisateurs de votre application d’avoir un accès à faible latence aux données, quel que soit l’endroit où ils se trouvent. Si le traitement de votre application est interrompu dans une région, vos clients peuvent toujours accéder aux tables répliques dans les autres régions.
Lors de la création d’un tableau global, vous pouvez choisir une cohérence forte ou une cohérence éventuelle. Un tableau global configuré pour une cohérence forte multirégion permet d’effectuer des lectures fortement cohérentes dans plusieurs régions. Le paramètre par défaut est la cohérence éventuelle multirégion.
Pour les Global Tables configurées avec le mode de cohérence éventuelle multirégion, vous pouvez créer des réplicas au sein d’un seul compte AWS ou sur plusieurs comptes AWS. Les Global Tables multi‑comptes répliquent automatiquement les tables sur plusieurs comptes et régions, offrant ainsi une meilleure résilience, une sécurité renforcée et une gouvernance améliorée. Elles sont idéales pour les clients qui adoptent des stratégies multi‑comptes ou qui utilisent AWS Organizations pour améliorer l’isolation de la sécurité, appliquer des garde‑fous de périmètre des données, mettre en œuvre une reprise après sinistre (DR) ou séparer les charges de travail par unité commerciale.
La mise en route des Global Tables est un processus simple, car elles utilisent les mêmes API DynamoDB que les tables à région unique. L'utilisation de tables globales n'entraîne aucun coût ou engagement initial. Vous ne payez que les ressources allouées. Vous pouvez configurer des Global Tables dans la console de gestion AWS, avec l’ interface de ligne de commande AWS (AWS CLI) ou avec AWS CloudFormation . Il est également facile de convertir votre table à région unique en Global Tables .
Avantages des Global Tables
Les Global Tables sont conçues pour une disponibilité de 99,999 %. Si une seule région AWS devient isolée ou dégradée, votre application peut transférer le trafic vers une autre région et effectuer des opérations de lecture et d’écriture sur une autre table de réplica. Vous pouvez appliquer une logique métier personnalisée pour déterminer quand rediriger les demandes vers d'autres régions. De plus, avec le mode de cohérence forte multirégion, votre application lira toujours les données les plus récentes à partir de n’importe quelle région.
Les Global Tables éliminent la complexité et la charge opérationnelle liées au déploiement et à la gestion de la réplication multi‑active et multirégion dans Amazon DynamoDB. Il suffit de sélectionner les régions où vous devez répliquer vos données, et DynamoDB s'occupe du reste. Vous pouvez choisir une cohérence éventuelle ou une cohérence forte pour la réplication entre les tables de réplica dans les différentes régions. Avec la cohérence forte multirégion, vous n’avez jamais à vous soucier de la cohérence des données ou de leur restauration lors d’une opération de basculement.
Vous pouvez également choisir de créer des réplicas au sein d’un seul compte AWS ou sur plusieurs comptes AWS. Grâce aux Global Tables multi‑comptes, vous pouvez créer des applications sur plusieurs comptes afin de renforcer l’isolation, d’améliorer la sécurité et la gouvernance et d’accroître la résilience opérationnelle, conformément au cadre AWS Well-Architected. Les applications accèdent aux tables globales à travers les API et points de terminaison DynamoDB existants.
Les Global Tables sont désormais configurables à la fois pour une cohérence forte et une cohérence éventuelle. La cohérence forte garantit que les lectures fortement cohérentes reflètent l’écriture la plus récente, tandis que la cohérence éventuelle nécessite un court délai avant que toutes les réplicas reflètent la dernière mise à jour, en échange de lectures et d’écritures locales à plus faible latence.
En mode de cohérence forte multirégion, DynamoDB garantit qu’une écriture validée avec succès sur n’importe quel réplica de n’importe quelle région est immédiatement disponible pour les lectures depuis n’importe quel autre réplica. Si une opération d’écriture devait modifier un élément déjà en cours de modification dans une autre région, cette opération échouerait avec une exception susceptible d’être réessayée.
En mode de cohérence éventuelle multirégion, DynamoDB réplique une écriture sur n’importe quel réplica de n’importe quelle région vers tous les autres réplicas, généralement en une à deux secondes. Si le même élément est modifié dans plusieurs régions, DynamoDB résoudra le conflit en appliquant une stratégie de résolution de type dernier écrivant gagnant.
Les tables globales permettent de lire et d'écrire les données localement en offrant une latence inférieure à 10 millisecondes à votre application mondialement distribuée, quelle que soit l'échelle. Cela peut améliorer les performances des applications mondiales à grande échelle.