Les tables globales reposent sur l'envergure mondiale d'Amazon DynamoDB pour vous fournir une base de données entièrement gérée, multi-région et multi-maître, qui offre des performances rapides, locales, en lecture et en écriture pour les applications globales à grande échelle. Les tables globales répliquent automatiquement vos tables DynamoDB dans les régions AWS de votre choix.

Les tables globales éliminent les tâches compliquées liées à la réplication des données entre des régions et la résolution des conflits de mise à jour. Vous pouvez ainsi vous concentrer sur la logique métier de votre application. De plus, elles permettent à vos applications de rester hautement disponibles, y compris dans le cas peu probable de l'isolation ou de la dégradation de toute une région.

Vous pouvez configurer des tables globales en quelques clics dans AWS Management Console ou l'interface de ligne de commande (CLI). Aucune modification d'application n'est nécessaire, car les tables globales utilisent les API DynamoDB existantes. L'utilisation de tables globales n'entraîne aucun coût ou engagement initial. Vous ne payez que les ressources allouées. Pour en savoir plus sur la configuration des tables globales, consultez le guide du développeur DynamoDB.

Fonctionnement

Lorsque vous créez une table globale DynamoDB, elle se compose de plusieurs tables de réplica (une par région AWS) que DynamoDB traite comme une seule unité. Chaque réplica porte le même nom de table et a le même schéma de clé primaire. Lorsqu'une application écrit des données dans une table de réplica dans une région, DynamoDB propage automatiquement l'écriture dans les autres tables de réplica des autres régions AWS.

Diagramme illustrant le fonctionnement des tables globales

Supposons que vous ayez une large clientèle répartie sur trois zones géographiques : la côte Est des États-Unis, la côte Ouest des États-Unis et l'Europe occidentale. Les clients peuvent mettre à jour les informations de leur profil en utilisant votre application. Sans une solution de réplication gérée, vous pourriez écrire du code pour reproduire les changements de données dans les tables de chacune de ces régions. Cependant, cela demanderait beaucoup de temps et de travail. Au lieu d'écrire votre propre code, vous pourriez créer une table globale référençant vos trois tables de région, et DynamoDB répliquerait alors automatiquement les changements de données entre ces tables afin que les changements d'une région se propagent de façon transparente aux autres Régions. En outre, si l'une des régions AWS devenait temporairement indisponible, vos clients pourraient toujours accéder aux mêmes données dans les autres régions.

Avantages

Lecture et écriture locales et accès mondial aux données

La réplication multi-maître s'assure que les mises à jour effectuées dans une région sont propagées vers les autres régions et que les données de toutes les régions sont cohérentes . Les tables consultées localement par votre application distribuée mondialement sont ainsi toujours à jour.

Performances

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.

Configuration et utilisation simples

Les tables globales éliminent la complexité et la charge opérationnelle liées au déploiement et à la gestion de tables mondialement disponibles dans DynamoDB. Il suffit de sélectionner les régions où vous devez répliquer vos données, et DynamoDB s'occupe du reste. Les applications accèdent aux tables globales via les API et points de terminaison DynamoDB existants.

Disponibilité, durabilité et tolérance aux pannes multi-régions

Les tables globales permettent aux applications de rester disponibles et performantes pour assurer la continuité des activités. Si une seule région AWS devient isolée ou dégradée, votre application peut être redirigée vers une autre région et effectuer des lectures et des écritures sur une table de réplica différente. Vous pouvez appliquer une logique métier personnalisée pour déterminer quand rediriger les demandes vers d'autres régions. DynamoDB garde une trace de toutes les écritures qui ont été effectuées, mais qui n'ont pas encore été propagées à toutes les tables de réplica. Lorsque la région revient en ligne, DynamoDB reprend la propagation d'une écriture en attente de cette région vers les tables de réplica des autres régions et vice versa.

Cohérence et résolution des conflits

Toute modification apportée à un élément d'une table de réplica est reproduite dans toutes les autres réplicas de la même table globale. Dans une table globale, un élément nouvellement écrit est généralement propagé à toutes les tables de réplica en une seconde. Avec une table globale, chaque table de réplica stocke le même ensemble de données. DynamoDB ne prend pas en charge la réplication partielle de certains éléments seulement. Si les applications mettent à jour le même élément dans différentes régions à peu près au même moment, des conflits peuvent survenir. Afin d'assurer une cohérence éventuelle, les tables globales de DynamoDB utilisent un rapprochement basé sur la dernière écriture entre les mises à jour simultanées, dans lequel DynamoDB s'efforce d'identifier l'application ayant effectué la dernière opération d'écriture. Grâce à ce mécanisme de résolution des conflits, tous les réplicas s'accordent sur la dernière mise à jour et convergent vers un état dans lequel elles disposent toutes de données identiques.

Démarrer

Commencez par convertir vos tables existantes en tables globales, ou par créer une table globale en utilisant la console DynamoDB ou l'interface de ligne de commande (CLI) AWS.

Bonnes pratiques

En savoir plus sur les tables globales
En savoir plus sur les tables existantes DynamoDB

Consultez le guide pour le développeur Amazon DynamoDB.

En savoir plus 
Créer gratuitement un compte
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite d'AWS. 

S'inscrire 
Commencer à créer dans la console
Commencer à créer sur la console

Commencez à créer avec des tables globales DynamoDB dans la console DynamoDB.

Démarrer la création