Les tables globales Amazon DynamoDB sont une base de données entièrement gérée, sans serveur, multirégion et multiactive. Les tableaux globaux vous offrent une disponibilité de 99,999 %, une résilience accrue des applications et une meilleure continuité des activités. Les tables globales répliquant automatiquement vos tables Amazon DynamoDB dans les régions AWS de votre choix, vous pouvez obtenir des performances de lecture et d'écriture locales rapides.

Dans les rares cas de défaillance d'une seule 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 sur n'importe quelle table de réplication. Les tables globales éliminent également les difficultés liées à la réplication des données entre les régions et à la résolution des conflits de mise à jour pour les charges de travail multiactives. 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 dans la console de gestion AWS à l'aide de l'interface de la ligne de commande AWS (AWS CLI) ou d'AWS CloudFormation. Aucune modification d'application n'est requise lors de la lecture ou de l'écriture dans une table globale, car les tables globales 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. Pour en savoir plus sur la configuration des tables globales, consultez le Guide du développeur Amazon DynamoDB. Pour plus d'informations sur la tarification globale des tables, consultez les options de tarification d'Amazon DynamoDB pour les options à la demande et le provisionné.

Principe de fonctionnement

Une table globale DynamoDB est composée de plusieurs tables de réplication. Chaque table de réplication existe dans une région différente, mais toutes les répliques portent le même nom et la même clé primaire. Lorsque des données sont écrites dans une table de réplication, DynamoDB les réplique automatiquement dans toutes les autres tables de réplication 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 modifications 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'accéder aux données avec une faible latence, où qu'ils se trouvent. Dans le cas peu probable où une région AWS deviendrait temporairement indisponible, vos clients peuvent toujours accéder aux tables de réplication dans les autres régions.

Diagramme illustrant le fonctionnement des tables globales

Avantages

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

La réplication multiactive et multirégion garantit que les mises à jour effectuées sur une table de réplication dans une région sont répliquées sur les tables de réplication d'autres régions. La réplication entre les répliques de tables d'une région à l'autre est finalement cohérente. Cela signifie que les lectures et écritures locales sur des tables de réplication au sein de la même région que l'application peuvent atteindre une forte cohérence. Toutefois, les lectures des éléments qui se trouvent dans d'autres tables de réplication au sein d'une région sont finalement cohérentes.

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. Cela peut améliorer les performances des applications mondiales à grande é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 la réplication multiactive et multirégionale 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. Les applications accèdent aux tables globales à travers les API et points de terminaison DynamoDB existants.

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

Les tables globales 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 ê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. 

En outre, Amazon DynamoDB garde la 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, Amazon 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. Amazon 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.

Pour résoudre les conflits, les tables globales d'Amazon DynamoDB utilisent un système de réconciliation entre les mises à jour simultanées selon lequel Amazon DynamoDB fait tout son possible pour déterminer le dernier auteur. 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 Amazon DynamoDB, AWS CLI ou AWS CloudFormation. Si vous utilisez Amazon DynamoDB pour la première fois, consultez la page Premiers pas avec DynamoDB. Avant de commencer, consultez les tarifs des Global Tables pour la capacité à la demande ou provisionnée, en fonction des besoins de votre application.

      Questions fréquentes (FAQ)

      Qu'est-ce qu'un tableau global pour Amazon DynamoDB ?

      Une table globale est un ensemble d'une ou plusieurs tables de réplication, toutes détenues par un seul compte AWS. Une seule table globale Amazon DynamoDB ne peut comporter qu'une seule table de réplication par région AWS.

      Qu'est-ce qu'une table de réplication pour Amazon DynamoDB ?

      Une table de réplication est une table DynamoDB unique. Chaque table de réplication stocke le même ensemble d'éléments de données, possède le même nom de table et le même schéma de clé primaire. Lorsqu'une application écrit des données dans une table de réplique dans une région, Amazon DynamoDB propage automatiquement l'écriture dans les autres tables de réplique des autres régions AWS.

      Dois-je envisager les tables globales Amazon DynamoDB pour ma stratégie de continuité d'activité ?

      Oui, les tables globales Amazon Dynamo renforcent la continuité des activités en augmentant la résilience d'une application et en fournissant une cohérence solide pour une seule région. Les tables globales étant multiactives, une application peut lire ou écrire sur n'importe quelle table de réplication. Dans les rares cas d'un événement régional imprévu, l'application peut rediriger vers une autre réplique.

      Comment rendre le tableau Amazon DynamoDB global ?

      Vous pouvez créer une table globale à l'aide de la console Amazon DynamoDB, de l'interface de ligne de commande AWS ou d'AWS CloudFormation grâce à ce guide étape par étape.

      Quels sont les prérequis pour les tables globales Amazon DynamoDB ?

      Avant d’ajouter une réplique supplémentaire dans une région différente à une table globale Amazon DynamoDB, DynamoDB Streams doit être activé sur la table, porter le même nom que toutes les autres répliques, avoir la même clé de partition que toutes les autres répliques et avoir les mêmes paramètres de capacité d’écriture spécifiés.

      Les noms des tables Amazon DynamoDB sont-ils globalement uniques ?

      Toutes les tables répliquées d'une table globale Amazon DynamoDB doivent porter le même nom.

      Quelle est la différence entre une table Amazon DynamoDB et une table globale ?

      Comme d'autres bases de données, Amazon DynamoDB stocke les données dans des tables. Un tableau est un ensemble d'éléments, et chaque élément est un ensemble d'attributs. Amazon DynamoDB utilise des clés primaires pour identifier de manière unique chaque élément d'un tableau et possède des index secondaires pour offrir une plus grande flexibilité en matière de requêtes.

      En revanche, une table globale Amazon DynamoDB est un ensemble d'une ou plusieurs tables de réplication détenues par un seul compte AWS. La structure de chaque table de réplication est identique à celle d'une table Amazon DynamoDB standard.

      La restauration instantanée est-elle disponible sur les tables globales Amazon DynamoDB ?

      Oui, vous pouvez activer la restauration instantanée sur chaque réplique d'une table globale.

      Bonnes pratiques

        Témoignages de clients

        « Lorsque la pandémie de COVID-19 a commencé, il y avait une énorme demande pour nos services vocaux et vidéo. Au début de l'année 2020, nous avons constater l'utilisation sans précédent passer de 10 millions à 300 millions de participants aux réunions quotidiennes, provenant de clients nouveaux et existants qui avaient besoin de se connecter virtuellement. Sur le backend, nous avons pu gérer cette augmentation avec Amazon DynamoDB pour les réunions Zoom. L'utilisation des tables globales DynamoDB en conjonction avec le mode à la demande nous a permis d'effectuer une mise à l'échelle presque à l'infini sans aucun problème de performances, même avec notre pic soudain d'utilisation. »

        Yasin Mohammed, responsable de l'ingénierie, opérations cloud chez Zoom Video Communications, Inc.

        « La réplication de données dans différentes régions est un problème assez difficile, et nous pouvons utiliser les tables globales Amazon DynamoDB pour le faire facilement. »

        Saral Jain, directeur de l'ingénierie, Infrastructure et données, Snap Inc.

        Lire l'étude de cas »

        Disney+

        L'équipe de découverte de contenus derrière Disney+ utilise les tables globales DynamoDB pour évoluer et offrir des fonctionnalités populaires telles que le visionnage en continu, la liste à regarder et les recommandations personnalisées.

        Regarder la vidéo »

        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 
        Commencez à 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