Comment choisir la clé primaire appropriée pour une table DynamoDB ?

Dernière mise à jour : 18/12/2020

Que dois-je prendre en compte lorsque je choisis une clé primaire pour une table Amazon DynamoDB ?

Brève description

Il existe deux types de clés primaires dans DynamoDB :

  • Clé de partition : il s'agit d'une clé primaire simple. Si la table n'a qu'une clé de partition, deux éléments ne peuvent avoir la même valeur de clé de partition.
  • Clé primaire composite : il s'agit d'une combinaison de clé de partition et de clé de tri. Si la table a une clé primaire composite, deux éléments peuvent avoir la même valeur de clé de partition. Cependant, ces éléments doivent avoir des valeurs de clé de tri différentes.

Quel que soit le type de clé primaire que vous choisissez, la clé primaire doit toujours être unique pour chaque élément de la table. Si vous ne choisissez pas une clé primaire appropriée, la distribution des données et les clés de raccourci sont inégales, ce qui peut entraîner une limitation (ProvisionedThroughputExceededException).

Solution

Utilisez une ou plusieurs des stratégies suivantes lorsque vous choisissez une clé primaire :

  • Utiliser un attribut de cardinalité élevée : la clé de partition doit être un attribut ayant des valeurs uniques pour chaque élément, telles que l'ID utilisateur, l'adresse e-mail ou le numéro de téléphone.
  • Utiliser des attributs composites : combinez plusieurs attributs pour former une clé primaire. Par exemple, vous pouvez avoir une table « commandes » qui associe l'ID client, l'ID produit et le code pays de la clé de partition, puis utilise la date de commande comme clé de tri. Cela augmente la probabilité que chaque élément possède une clé primaire unique.
  • Ajouter des nombres aléatoires à votre clé de partition : pour les cas d'utilisation impliquant des écritures intensives, pensez à ajouter des nombres aléatoires d'une plage prédéterminée à votre clé de partition. Cela augmente le caractère aléatoire de la clé de partition. Pour plus d'informations, consultez la section Utilisation du partitionnement d'écriture pour la répartition uniforme des charges de travail.

Pour obtenir des informations détaillées sur chacune de ces stratégies, consultez Choisir la clé de partition DynamoDB adéquate.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?