Une base de données clé-valeur est une stratégie de stockage non relationnelle NoSQL dans laquelle les enregistrements sont stockés sous forme de série de clés (l’identifiant) et de valeurs (la valeur de l’identifiant). Les paires clé-valeur peuvent être un nombre ou une chaîne simple, ou une valeur peut être un objet comme une image ou des données géospatiales. Les applications volumineuses nécessitant des réponses rapides bénéficient de bases de données clés-valeurs.
Qu’est-ce qu’un magasin clé-valeur ?
Les bases de données relationnelles stockent les données dans des tables, mais une relation clé-valeur est une série de clés et de valeurs. La clé est l’identifiant unique utilisé pour interroger la base de données afin de déterminer la valeur appropriée. Par exemple, le prix d’un produit peut être enregistré avec « prix » comme clé et « 12,00 » comme valeur. Certaines applications utilisent des magasins de valeur clé pour les métadonnées qui peuvent ensuite être utilisées pour interroger des informations supplémentaires dans des bases de données relationnelles ou non relationnelles plus importantes.
Le stockage d’une série de paires clé-valeur accélère les requêtes, ce qui permet aux applications qui ont besoin de réponses rapides et de prendre en charge des millions d’utilisateurs d’utiliser une base de données clé-valeur. Le stockage clé-valeur est également avantageux lorsque les entreprises ont besoin de stocker des métadonnées simples pour établir un lien avec des silos de données plus importants. Certaines entreprises utilisent des paires clé-valeur pour des ensembles de données simples où des millions de requêtes touchent la base de données, mais seulement quelques valeurs doivent être renvoyées par requête.
Magasins clés en action
Les applications qui interrogent des ensembles de données de petite taille peuvent bénéficier de la vitesse d’un magasin clé-valeur. Par exemple, supposons que vous ayez un flux de réseaux sociaux utilisé par des millions d’utilisateurs. Les utilisateurs actualisent constamment leur flux, et l’application affiche les cinq principaux fils de leur flux. Une paire clé-valeur avec la dernière publication et le lien vers la publication peut être stockée.
Les applications en temps réel bénéficient également de magasins à valeur clé en action. Comme les magasins à valeur clé renvoient les données rapidement, les applications avec des indicateurs ou des mises à jour à la seconde les utilisent. Par exemple, un téléscripteur affichant la dernière valeur d’un stock spécifique nécessite des mises à jour d’affichage toutes les secondes. Une base de données clé-valeur peut être utilisée pour ces requêtes.
Exemples de bases de données clés-valeurs
Magasins à valeur clé et bases de données relationnelles
Les bases de données relationnelles traditionnelles ont toujours leur objectif dans les applications classiques. Une base de données relationnelle stocke les valeurs dans une stratégie semblable à une table. Un seul enregistrement comporte plusieurs colonnes, et chaque colonne a une valeur qui lui est attribuée. Les développeurs attribuent un identifiant unique à chaque enregistrement, afin que les informations puissent être associées au bon enregistrement. Par exemple, un identifiant client unique relie le nom et l’adresse du client. Dans cet exemple, le nom et l’adresse sont deux colonnes, et les informations du client, y compris l’identifiant unique, le nom et l’adresse, sont un seul enregistrement.
Les magasins clé-valeur associent une clé d’identification unique à une valeur. La valeur peut être plus qu’un simple nombre ou chaîne. Les magasins de clés-valeurs peuvent attribuer un objet à un seul identifiant clé, de sorte que les développeurs ne se limitent pas aux données de base. Une combinaison de clés peut également être utilisée pour récupérer des données spécifiques.
Choisir le bon magasin clé-valeur
Les applications qui utilisent des magasins de clés-valeurs ont besoin de réponses rapides, alors recherchez une base de données qui offre une mise en cache in-memory. Les données fréquemment utilisées peuvent être mises en cache dans la mémoire, ce qui signifie que le moteur de base de données n’a pas besoin de rechercher des données sur un disque, de les récupérer, puis de les transférer vers l’application demandeuse. Comme les magasins à valeur clé effectuent des actions de lecture et d’écriture rapides et continues, la mise en cache est optimale pour les performances.
Le partitionnement et la distribution des données peuvent être avantageux pour les besoins de stockage de données volumineux. La distribution horizontale permet aux administrateurs d’améliorer les performances en ajoutant des nœuds au cluster de base de données. Plusieurs stratégies de partitionnement sont disponibles, notamment le hachage et le partitionnement. Choisissez une stratégie adaptée à votre infrastructure et à vos préférences d’administrateur.
Bonnes pratiques pour la mise en œuvre de magasins à valeur clé
Que vous décidiez de mettre en œuvre un magasin clé-valeur sur site ou dans le cloud, vous devez suivre quelques bonnes pratiques pour préserver les performances. Vous ne remarquerez peut-être pas de problèmes de performance au début, mais ils se présentent souvent après la croissance de la base de données et le nombre d’utilisateurs de l’application. Quelques bonnes pratiques :
Utilisez les clés primaires composées pour optimiser les requêtes à distance.
Utilisez une clé de tri pour les requêtes à portée.
Utilisez une clé de partitionnement pour le stockage distribué.
Dans les exemples ci-dessus, les bonnes pratiques sont nécessaires à la performance. Les performances sont essentielles pour une base de données clé-valeur afin de prendre en charge les applications en temps réel. La mise en cache des données améliorera également les performances, alors choisissez un moteur de base de données qui les prend en charge.
Conclusion
Si vous avez une application à volume élevé qui demande des données pouvant être stockées sous forme de paire clé-valeur, un magasin clé-valeur peut être le meilleur choix. La vitesse est un facteur essentiel dans ces bases de données, alors choisissez-en une qui met les données en cache dans la mémoire et offre une méthode de hachage ou de partitionnement distribuée. Vous pouvez travailler avec des bases de données sur site ou dans le cloud, mais si vous recherchez une solution, Pure Storage propose des solutions de stockage adaptées à votre entreprise.