Comment définir les clés de partition DynamoDB

Comment Definir Les Cles De Partition Dynamodb



La productivité de toute base de données repose sur l'accessibilité des données car la recherche d'un élément parmi plusieurs objets peut s'avérer mouvementée. Souvent, la façon dont vous interrogez la base de données est toujours une considération sérieuse. Les clés de partition sont vos principaux points d'entrée dans DynamoDB chaque fois que vous souhaitez effectuer des requêtes très efficaces.

Habituellement, les clés de partition entre les tables sont uniques. Ainsi, il est impossible d'avoir deux éléments ou plus avec la même clé de partition dans une table, mais l'inverse peut se produire lorsqu'ils sont utilisés dans des index. De plus, les clés de partition sont impossibles à modifier une fois que vous avez créé une table car elles sont immuables.







Cet article traite des clés de partition. Nous nous concentrerons sur les raisons pour lesquelles vous avez besoin des clés de partition et les meilleures pratiques à suivre lors de leur configuration. Enfin, nous examinerons en quoi les clés de partition DynamoDB sont essentielles.



Qu'est-ce qu'une clé de partition DynamoDB et pourquoi est-ce important ?

Une clé de partition est une simple clé primaire dans DynamoDB, souvent constituée d'un seul attribut. Chaque élément d'une table DynamoDB possède une clé de partition unique pour permettre des processus de requête rapides et efficaces.



Vous pouvez associer une clé primaire à une clé de tri pour créer une clé primaire composite contenant deux attributs. Lorsqu'ils sont utilisés ensemble, vous pouvez organiser toutes les données sous une clé de partition à l'aide de la valeur de la clé de tri.





Étant donné que DynamoDB réserve les données sous la forme d'un consortium d'attributs appelés éléments, les attributs ont des clés de valeur primaire uniques pour un accès facile. Notamment, les éléments de DynamoDB sont similaires aux enregistrements, champs, colonnes ou lignes dans la plupart des systèmes de base de données.

De plus, DynamoDB vous permet de répartir les données en partitions jusqu'à 10 Go d'unités de stockage. Chaque table peut donc avoir une ou plusieurs partitions. Vous pouvez utiliser la valeur d'une clé de partition comme entrée de la fonction de hachage interne de la base de données, avec la sortie de la fonction de hachage qui détermine la partition dans laquelle l'élément est stocké. De plus, l'emplacement d'un élément détermine la partition dans laquelle il est stocké.



Comment définir les clés de partition DynamoDB

Définir les clés de partition peut être une tâche ardue si vous n'avez pas encore compris le concept. Cependant, ce processus peut être simple et efficace une fois que vous avez rassemblé les trucs et astuces nécessaires. Voici quelques-unes des meilleures pratiques à suivre lors de la configuration des clés de partition :

1. Choisissez les bonnes clés de partition

Le type de clés de partition détermine la commodité et l'efficacité de l'interrogation de vos données. Ce sont les principaux points d'entrée pour interroger vos données, et la définition des modèles d'accès de chaque application est essentielle.

Il est conseillé d'utiliser les attributs de cardinalité élevée lors de la configuration de vos clés de partition DynamoDB. Les attributs à cardinalité élevée présentent les valeurs distinctes pour chaque élément et peuvent inclure l'employee_id, employee_no, order_id, emailid, customerid ou orderid.

2. Utilisez la convention de dénomination PK

Les clés de partition utilisent souvent la convention de dénomination pk. Cette méthode de nommage garantit un mécanisme de nommage précis sans discrimination basée sur le type ou le modèle d'article représenté.

Par exemple, bien que vous puissiez être tenté d'utiliser le postID et l'userID comme clés de partition pour les modèles Post et User dans une table, DynamoDB n'autorise qu'une seule clé de partition pour chaque table. Ainsi, vous ne pouvez pas en utiliser deux dans une seule table. Notez que les tables sans clés de tri peuvent avoir des clés de partition d'ID.

3. Utiliser des attributs composites

Certaines tables bénéficient davantage des clés composées. C'est-à-dire que vous avez besoin de plus d'un seul attribut pour former les clés uniques. Par exemple, vous pouvez facilement utiliser le customer_ID, le country_code et le product_ID pour former une clé de partition (customerid#countrycode#productid). En même temps, vous pouvez utiliser le order_id comme clé de tri.

4. Ajoutez des nombres aléatoires de manière appropriée

Si vous vous attendez à un énorme volume d'écritures pour chaque clé, l'utilisation d'un préfixe ou d'un suffixe supplémentaire rend les cas d'utilisation intensive plus efficaces. Par exemple, vous pouvez utiliser le numéro de facture avec un ensemble de nombres aléatoires comme clé de partition. N'oubliez pas de séparer les différentes sections de votre clé de partition. Par exemple, InvoiceNumber#125656#0 en tant que clé de partition est idéal pour une utilisation intensive avec des milliers d'écritures par seconde.

Créer une clé de partition DynamoDB

Comme les clés de tri, la création d'une clé de partition dans DynamoDB implique la création d'un schéma de clé pour votre table. Bien sûr, cela se produit lorsque vous créez une table. Cela implique souvent de décrire votre attribut en utilisant le nom de l'attribut à côté du type d'attribut. La syntaxe suivante vous aidera :

AttributeName=chaîne,KeyType=chaîne ...

Dans la syntaxe donnée, le nom de l'attribut est le nom réel de l'attribut tandis que le type d'attribut peut être une chaîne (S), un nombre (N) ou un binaire (B).

Vous pouvez également choisir d'utiliser une syntaxe JSON comme illustré ci-dessous :

[

{

'AttributeName': 'chaîne',

'Type de clé': 'HASH'

}

...

]

Quelle que soit la syntaxe que vous choisissez, le rôle de l'attribut assume la fonction HASH car nous créons une clé de partition. Au contraire, le type de clé suppose une fonction RANGE lors de la création des clés de tri.

Enfin, il est aussi possible de changer une clé de partition à l'aide de l'utilitaire suivant :

DynamoDBClient.updateItem({
'TableName': 'maTable_Name',
'Clé': {
'paquet': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'adresse e-mail'
},
'ExpressionAttributeValues': {
':adresse e-mail': {
'S': ' [e-mail protégé] '
}
}
})

L'utilitaire donné met à jour votre attribut d'e-mail pour qu'il ressemble à ce que vous avez dans le [e-mail protégé] pour l'élément où la clé de partition (pk) est égale à my_PartitionKey.

Conclusion

Lors de la configuration des clés de partition DynamoDB, il n'existe pas de méthode universelle unique. La création et l'utilisation des clés de partition dépendent du cas d'utilisation. En outre, vous pouvez examiner les différentes approches disponibles et trouver celle qui convient le mieux à votre application. Assurez-vous de respecter les directives données.