Je souhaite savoir comment choisir une clé primaire pour ma table Amazon DynamoDB.
Brève description
Chaque élément d'une table DynamoDB doit avoir une clé primaire unique. Vous pouvez spécifier une clé de partition ou une clé primaire composite. Pour vous aider à déterminer la clé primaire appropriée à utiliser, consultez la section Bonnes pratiques de conception et d’utilisation efficaces des clés de partition dans DynamoDB.
Suivez l'une des méthodes suivantes pour créer votre clé primaire :
- Utiliser un attribut de cardinalité élevée
- Utiliser des attributs composites
- Ajouter des nombres aléatoires à votre clé de partition
Résolution
Utiliser un attribut de cardinalité élevée
Si votre table compte un attribut avec une valeur unique pour chaque élément, tel que les ID utilisateur, cet attribut est une bonne clé primaire. Dans ce cas, la clé primaire est une clé de partition.
Utiliser des attributs composites
Si votre table ne compte pas d'attribut unique pour chaque élément, vous pouvez combiner différents attributs pour créer une clé primaire unique. Par exemple, vous disposez d'une table de commandes qui comporte des attributs pour l'ID client et l'ID de commande. Vous combinez les deux valeurs d'ID pour obtenir une clé de partition qui est plus susceptible de contenir de nombreuses valeurs uniques. Ensuite, vous utilisez une autre colonne, telle que la date de commande, comme clé de tri. Dans ce cas, vous disposez d'une clé primaire composite.
Ajouter des nombres aléatoires à votre clé de partition
Si vous avez un cas d'utilisation nécessitant un grand nombre d’opérations d'écriture, ajoutez des nombres aléatoires compris dans une plage prédéterminée à votre clé de partition pour augmenter le caractère aléatoire de la clé. Pour en savoir plus, consultez la section Utilisation du partitionnement d'écriture pour une répartition équitable des charges de travail dans votre table DynamoDB.
Informations connexes
Choisir la clé de partition DynamoDB adéquate
Pourquoi ma table provisionnée Amazon DynamoDB est-elle limitée ?
Tri efficace des données avec Amazon DynamoDB