Qu’est-ce que DynamoDB ?

Q : Qu'est-ce qu’Amazon DynamoDB ?

DynamoDB est un service de base de données non relationnelle rapide et flexible adaptable à tout type de structure. Grâce à DynamoDB, les clients transfèrent sur AWS leurs tâches d’administration relatives à l'exploitation et à la mise à l'échelle de leurs bases de données distribuées, évitant ainsi toutes les contraintes relatives au provisionnement en matériel, à l'installation et à la configuration, à la planification de la capacité de débit, à la réplication, à l’application de correctifs logiciels ou à la mise à l'échelle des clusters.

Q : Quelles opérations DynamoDB effectue-t-il à ma place ?

Grâce à DynamoDB, les clients n'ont plus à gérer l’un des problèmes majeurs liés à la mise à l'échelle des bases de données, à savoir la gestion des logiciels de bases de données et le provisionnement en matériel nécessaire pour les faire fonctionner. Une base de données non relationnelle peut désormais être déployée en quelques minutes. DynamoDB met automatiquement la capacité de débit à l'échelle pour répondre aux exigences de la charge de travail ; il partitionne et repartitionne vos données au fur et à mesure que la taille de votre table augmente. De plus, DynamoDB réplique les données de manière synchronisée sur trois installations au sein d'une région AWS, vous permettant ainsi de bénéficier d'une haute disponibilité et d'optimiser la durabilité des données.

Q : En quoi consiste le modèle de cohérence de DynamoDB ?

Lors de la lecture de données sur  DynamoDB, les utilisateurs peuvent choisir une lecture cohérente à terme ou une lecture à cohérence forte.

  • Lecture cohérente à terme (par défaut) : l'option de cohérence à terme vous permet de maximiser le débit de lecture. Cependant, une lecture cohérente à terme peut ne pas refléter les résultats d'une écriture récente. En règle générale, toutes les copies des données deviennent cohérentes en une seconde. Répéter une lecture après un bref délai devrait renvoyer les données mises à jour.
  • Lecture à cohérence forte : en plus de l'option de cohérence à terme, DynamoDB vous offre la flexibilité et le contrôle permettant de demander une lecture à cohérence forte en fonction des besoins d'une partie ou de l'ensemble de votre application. Une lecture à cohérence forte renvoie un résultat indiquant toutes les écritures réussies avant la lecture.

Mise en route

Q : Quel type de fonctionnalité de requête DynamoDB prend-il en charge ?

DynamoDB prend en charge les opérations GET/PUT à l'aide d'une clé primaire définie par l'utilisateur. La clé primaire est le seul attribut nécessaire pour les éléments d'une table. Vous spécifiez la clé primaire lors de la création d'une table, et cette clé identifie chaque élément individuellement. DynamoDB offre également une interrogation flexible des bases de données en vous permettant d'interroger des attributs de clé non primaires au moyen d’index secondaires globaux et d’index secondaires locaux.

Une clé primaire peut être une clé de partition à attribut unique ou une clé composite de type partition-tri. UserID est un exemple de clé de partition à attribut unique. Une telle clé de partition à attribut unique permettrait une lecture et une écriture de données rapides pour un élément associé à un identifiant utilisateur donné.

DynamoDB indexe une clé composite de type partition-tri en tant qu'élément de clé de partition et en tant qu'élément de clé de tri. Cette clé à plusieurs composants maintient une hiérarchie entre la première et la seconde valeurs d'élément. Par exemple, une clé composite de type partition-tri peut être une combinaison des éléments suivants : UserID (partition) et Horodateur (tri). En maintenant la constance de l'élément de clé de partition, il est possible d'effectuer une recherche dans l'élément de clé de type tri pour extraire des éléments. Une recherche de la sorte vous permettrait d'utiliser l'API Query pour, par exemple, extraire tous les éléments associés à un identifiant UserID unique dans un intervalle d'horodateurs.

Q : Comment mettre à jour et interroger des éléments de données avec DynamoDB ?

Après avoir créé une table à l'aide de la console DynamoDB ou de l'API CreateTable, vous pouvez utiliser l'API PutItem ou BatchWriteItem pour insérer des éléments. Pour extraire les éléments ajoutés à la table, vous pouvez ensuite utiliser GetItem ou BatchGetItem, ou l’API Query, si les clés primaires composites sont activées et utilisées dans votre table.

Q : DynamoDB peut-il être utilisé par des applications s'exécutant sur n'importe quel système d'exploitation ?

Oui. DynamoDB est un service de cloud entièrement géré, accessible via l'API. DynanoDB peut-être utilisé par des applications fonctionnant sur n'importe quel système d'exploitation, par exemple Linux, Windows, iOS, Android, Solaris, AIX et HP-UX. Nous vous recommandons d'utiliser les kits SDK AWS pour démarrer avec DynamoDB.

Planification

Q : Comment l'utilisation de DynamoDB me sera-t-elle facturée ?

Chaque table DynamoDB est associée à un débit de lecture et d'écriture alloué. Ce débit vous est facturé à l'heure si vous avez dépassé le niveau d'accès gratuit. Veuillez noter que vous êtes facturé à l'heure pour la capacité de débit, que vous envoyiez ou non des requêtes vers votre table. Pour modifier la capacité de débit alloué d'une table, vous pouvez utiliser AWS Management Console, l'API UpdateTable ou l'API PutScalingPolicy pour Auto Scaling. Par ailleurs, DynamoDB vous facturera également le stockage de données. Des frais standard de transfert de données Internet sont également applicables.

Pour en savoir plus sur la tarification de DynamoDB, consultez la page de tarification DynamoDB.

Q : Quel débit maximum puis-je allouer pour une seule table DynamoDB ?

DynamoDB est conçu pour pouvoir s'adapter à volonté. Toutefois, si vous souhaitez disposer de débits supérieurs à 10 000 unités de capacité d'écriture ou de lecture pour une table unique, il convient d'abord de contacter Amazon. Pour allouer plus de 20 000 unités de capacité d'écriture ou de lecture depuis le compte d'un seul abonné, contactez-nous en premier lieu pour demander une augmentation de plafond.

Q : Quel débit minimum puis-je allouer pour une seule table DynamoDB ?

Le débit alloué minimal que vous pouvez demander est 1 unité de capacité d'écriture et 1 unité de capacité de lecture, que ce soit avec l’Auto Scaling ou l'allocation manuelle de débit. Cette allocation est comprise dans l'offre gratuite proposant 25 unités de capacité d'écriture et 25 unités de capacité de lecture. Notez que le niveau gratuit s’applique au niveau du compte et non de la table. En d'autres termes, si vous additionnez la capacité allouée pour toutes vos tables et que cette capacité totale est inférieure ou égale à 25 unités de capacité d'écriture et à 25 unités de capacité de lecture, vous ne dépassez pas le niveau gratuit.

Principe de fonctionnement

Q : Modèles de données et API

Pour en savoir plus sur les modèles de données et les API, consultez la page Amazon DynamoDB : Fonctionnement.

Q : Scalabilité, disponibilité et durabilité

Pour en savoir plus sur la scalabilité, la disponibilité et la durabilité, consultez la Description détaillée d'Amazon DynamoDB.

Q : Auto Scaling

Pour en savoir plus sur l’Auto Scaling de DynamoDB, consultez la page Gestion automatique de la capacité de débit avec Auto Scaling de DynamoDB.

Q : Sécurité et contrôle

Pour en savoir plus sur la sécurité et le contrôle de DynamoDB, consultez la page Authentification et contrôle d'accès pour Amazon DynamoDB.

En savoir plus sur la tarification d'Amazon DynamoDB

Visiter la page de tarification
Prêt à créer ?
Démarrage avec DynamoDB
D'autres questions ?
Contactez-nous