Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Bonnes pratiques relatives à l'utilisation des clés de tri pour organiser les données dans DynamoDB
Dans une table Amazon DynamoDB, la clé primaire qui identifie de manière unique chaque élément de la table peut être composée d'une clé de partition et d'une clé de tri.
Les clés de tri bien conçues présentent deux avantages :
Elles rassemblent des informations connexes dans un seul emplacement, ce qui permet de les interroger efficacement. Une conception soignée de la clé de tri vous permet d'extraire les groupes d'éléments connexes les plus couramment demandés à l'aide de requêtes de plage utilisées avec les opérateurs tels que
begins_with
,between
,>
,<
, etc.-
Les clés de tri composites vous permettent de définir des relations hiérarchiques (one-to-many) dans vos données que vous pouvez interroger à n'importe quel niveau de la hiérarchie.
Par exemple, dans une table répertoriant des emplacements géographiques, vous pouvez structurer la clé de tri comme suit :
[country]#[region]#[state]#[county]#[city]#[neighborhood]
Cela vous permet de créer des requêtes de plage efficaces concernant la liste des emplacements à n'importe lequel de ces niveaux d'agrégation, de
country
jusqu'àneighborhood
, en incluant tout ce qu'il y a entre les deux.
Utilisation de clés de tri pour le contrôle de version
De nombreuses applications ont besoin d'avoir un historique des révisions au niveau des éléments à des fins d'audit ou de conformité, et ont également besoin de pouvoir extraire facilement la version la plus récente. Il existe un modèle de conception performant qui permet d'atteindre cet objectif en utilisant des préfixes de clé de tri :
Pour chaque nouvel élément, créez deux copies de l'élément : une copie doit comporter un préfixe de numéro de version égal à zéro (comme
v0_
) au début de la clé de tri, et l'autre doit comporter un préfixe de numéro de version égal à un (commev1_
).Chaque fois que l'élément est mis à jour, utilisez le préfixe de version supérieur suivant pour la clé de tri de la version mise à jour et copiez le contenu mis à jour dans l'élément dont le préfixe de version est zéro. Vous pouvez ainsi localiser facilement la dernière version de n'importe quel élément en utilisant le préfixe zéro.
Par exemple, un fabricant de pièces détachées peut utiliser un schéma comme celui illustré ci-après.
L'élément Equipment_1
passe par une série d'audits effectués par plusieurs auditeurs. Les résultats de chaque nouvel audit sont capturés dans un nouvel élément de la table, en commençant par le numéro de version un et en incrémentant ce numéro à chaque nouvelle version.
Chaque fois qu'une nouvelle révision est ajoutée, la couche d'application remplace le contenu de l'élément de version zéro (dont la clé de tri est égale à v0_Audit
) par celui de la nouvelle révision.
Chaque fois que l'application doit extraire le statut d'audit le plus récent, elle peut interroger le préfixe de clé de tri v0_
.
Si l'application a besoin d'extraire la totalité de l'historique des révisions, elle peut interroger tous les éléments figurant sous la clé de partition de l'élément et filtrer l'élément v0_
.
Cette conception fonctionne également pour les audits portant sur plusieurs parties d'un équipement, si vous incluez la pièce individuelle IDs dans la clé de tri après le préfixe de la clé de tri.