Qu’est-ce qu’Amazon 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 s'appuient totalement sur AWS pour l'exploitation et la mise à l'échelle de leurs bases de données distribuées, évitant ainsi toutes les contraintes relatives à l'approvisionnement en matériel, l'installation et la configuration, la planification de la capacité de débit, la réplication, les correctifs logiciels ou encore 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 les problèmes majeurs liés à la mise à l'échelle et à la gestion des bases de données, ainsi qu'à l'approvisionnement 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, et 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 configurer une lecture cohérente à terme ou une lecture à cohérence forte :

  • Lectures cohérentes à terme (par défaut) – L'option de cohérence éventuelle 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 moins d'une seconde. Réitérer une lecture après une courte période de temps devrait renvoyer les données mises à jour.
  • Lectures à cohérence forte – En plus de l'option de cohérence éventuelle, DynamoDB vous offre la flexibilité et le suivi permettant de configurer 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 des 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 des index secondaires globaux et des index secondaires locaux.

Une clé primaire peut être une clé de partition à attribut unique ou une clé composite de type partition-tri. UserID pourrait par exemple être une 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 présente une hiérarchie entre la première et la seconde valeur 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 données. Une recherche de la sorte vous permettrait d'utiliser l'API Query pour 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 de 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, 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 les 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 (tel que Linux, Windows, iOS, Android, Solaris, AIX et HP-UX). Nous vous recommandons d'utiliser les kits de développement logiciel AWS pour découvrir DynamoDB.

Planification

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

Chaque table DynamoDB est associée à un débit de lecture et d'écriture. 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 envoyez 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 la mise à l'échelle automatique. Par ailleurs, DynamoDB vous facturera également le stockage de données indexé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 mettre en service pour une seule table DynamoDB ?

DynamoDB est conçu pour pouvoir s'adapter à volonté. Si vous souhaitez toutefois 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 mettre en service 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 mettre en service pour une seule table DynamoDB ?

Le débit alloué le plus petit que vous pouvez demander est d'une unité de capacité d'écriture et d'une unité de capacité de lecture, que ce soit avec la mise à l'échelle automatique ou l'allocation manuelle. 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 est défini pour un compte et non pour chaque table. En d'autres termes, si vous additionnez la capacité mise en service pour chacune de vos tables et que cette capacité totale est inférieure à 25 unités de capacité d'écriture et à 25 unités de capacité de lecture, vous ne dépassez pas le niveau gratuit.

Fonctionnement

Q : Modèles de données et API

Pour en savoir plus sur les modèles de données et sur les API, consultezAmazon 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 : Mise à l'échelle automatique

Pour en savoir plus sur la mise à l'échelle automatique de DynamoDB, consultez Gestion automatique de la capacité de débit avec la scalabilité automatique DynamoDB.

Q : Sécurité et contrôle

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

En savoir plus sur la tarification de DynamoDB

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