DynamoDB - Concepts de base

Avant d'utiliser DynamoDB, vous devez vous familiariser avec ses composants de base et son écosystème. Dans l'écosystème DynamoDB, vous travaillez avec des tables, des attributs et des éléments. Une table contient des ensembles d'éléments et les éléments contiennent des ensembles d'attributs. Un attribut est un élément fondamental de données ne nécessitant aucune décomposition supplémentaire, c'est-à-dire un champ.

Clé primaire

Les clés primaires servent de moyen d'identification unique pour les éléments de table, et les index secondaires offrent une flexibilité de requête. Les flux DynamoDB enregistrent les événements en modifiant les données de la table.

La création de table nécessite non seulement de définir un nom, mais également la clé primaire; qui identifie les éléments du tableau. Aucun élément ne partage une clé. DynamoDB utilise deux types de clés primaires -

  • Partition Key- Cette clé primaire simple consiste en un seul attribut appelé «clé de partition». En interne, DynamoDB utilise la valeur de clé comme entrée pour une fonction de hachage pour déterminer le stockage.

  • Partition Key and Sort Key - Cette clé, connue sous le nom de «Clé primaire composite», se compose de deux attributs.

    • La clé de partition et

    • La clé de tri.

    DynamoDB applique le premier attribut à une fonction de hachage et stocke les éléments avec la même clé de partition ensemble; avec leur ordre déterminé par la clé de tri. Les éléments peuvent partager des clés de partition, mais pas les clés de tri.

Les attributs de clé primaire n'autorisent que des valeurs scalaires (uniques); et les types de données chaîne, nombre ou binaire. Les attributs non clés n'ont pas ces contraintes.

Index secondaires

Ces index vous permettent d'interroger les données de la table avec une clé alternative. Bien que DynamoDB ne force pas leur utilisation, ils optimisent les requêtes.

DynamoDB utilise deux types d'index secondaires -

  • Global Secondary Index - Cet index possède des clés de partition et de tri, qui peuvent différer des clés de table.

  • Local Secondary Index - Cet index possède une clé de partition identique à la table, cependant, sa clé de tri diffère.

API

Les opérations d'API proposées par DynamoDB incluent celles du plan de contrôle, du plan de données (par exemple, création, lecture, mise à jour et suppression) et des flux. Dans les opérations du plan de contrôle, vous créez et gérez des tables avec les outils suivants:

  • CreateTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DeleteTable

Dans le plan de données, vous effectuez des opérations CRUD avec les outils suivants:

Créer Lis Mettre à jour Effacer

PutItem

BatchWriteItem

Obtenir l'article

BatchGetItem

Requete

Analyse

UpdateItem

Effacer l'article

BatchWriteItem

Les flux de la table de contrôle des opérations de flux. Vous pouvez consulter les outils de flux suivants -

  • ListStreams
  • DescribeStream
  • GetShardIterator
  • GetRecords

Débit provisionné

Lors de la création de table, vous spécifiez le débit provisionné, qui réserve des ressources pour les lectures et les écritures. Vous utilisez des unités de capacité pour mesurer et définir le débit.

Lorsque les applications dépassent le débit défini, les demandes échouent. La console GUI DynamoDB permet de surveiller le débit défini et utilisé pour un provisionnement amélioré et dynamique.

Lire la cohérence

Utilise DynamoDB eventually consistent et strongly consistentlit pour prendre en charge les besoins des applications dynamiques. Les lectures finalement cohérentes ne fournissent pas toujours les données actuelles.

Les lectures fortement cohérentes fournissent toujours des données actuelles (à l'exception des pannes d'équipement ou des problèmes de réseau). Les lectures finalement cohérentes servent de paramètre par défaut, nécessitant un paramètre true dans leConsistentRead paramètre pour le changer.

Partitions

DynamoDB utilise des partitions pour le stockage des données. Ces allocations de stockage pour les tables ont un support SSD et se répliquent automatiquement entre les zones. DynamoDB gère toutes les tâches de partition, ne nécessitant aucune intervention de l'utilisateur.

Lors de la création de table, la table entre dans l'état CREATING, qui alloue des partitions. Lorsqu'il atteint l'état ACTIF, vous pouvez effectuer des opérations. Le système modifie les partitions lorsque sa capacité atteint son maximum ou lorsque vous modifiez le débit.