Le domaine in­for­ma­tique utilise des bases de données très variées. Les modèles re­la­tion­nels sont par­ti­cu­liè­re­ment appréciés, car ils per­met­tent une bonne mise en réseau des in­for­ma­tions. Mais il existe également d'autres modèles qui offrent des avantages par­ti­cu­liers et cons­ti­tuent donc une meilleure al­ter­na­tive dans des cas bien précis selon certaines cir­cons­tances : base de données NoSQL, bases de données orientées document, bases de données en colonnes ou bases de données orientées graphe. En outre, il existe par ailleurs ce que l'on appelle les Key Value Databases (bases de données clé-valeur) dont le principe simple offre une per­for­mance colossale.

Qu'est-ce qu'une Key Value Store ?

La base de données clé-valeur repose sur un tableau com­por­tant seulement deux colonnes : l'une contenant la valeur, l'autre une clé, un signe d'iden­ti­fi­ca­tion clair. Une valeur peut supporter dif­fé­rents formats, des valeurs simples comme des chaînes ou des entiers, mais aussi des objets complexes qui peuvent ap­pa­raître comme valeurs dans la base de données. (La fonction ou l'em­pla­ce­ment de la valeur peut inclure un document par exemple, auquel cas on parle de base de données orientée document.) Il est également possible d'ajouter des ré­fé­rences à des fichiers dans la base de données. Des tuples, à savoir des groupes de valeurs, peuvent aussi être appliqués.

Il n’est pas obli­ga­toire que les valeurs d'une base de données soient homogènes. Il est possible d'in­té­grer dif­fé­rents objets dans la même colonne. Il en va de même pour les signes d'iden­ti­fi­ca­tion.

La plupart du temps, la clé suivra vrai­sem­bla­ble­ment un schéma spé­ci­fique. Mais en principe, ce n'est pas né­ces­saire. Les chaînes et les entiers peuvent également être disposés selon n'importe quels critères.

Remarque

Les Key Value Stores figurent comme bases de données incluses dans la mémoire (ainsi que dans la mémoire centrale) et comme solutions sur le disque (et sur l'espace disque dur).

Avantages et domaines d'ap­pli­ca­tion de la Key Value Database

Des per­for­mances élevées et la flexi­bi­lité offerte par la mo­du­la­rité des Key Value Stores comptent parmi ses avantages. Ces deux qualités résultent de la sim­pli­cité de la structure du modèle. Comme la base de données clé-valeur n'exige ni n'impose aucun schéma homogène, il est possible de procéder à des mo­di­fi­ca­tions de la base de données lors de l'ex­ploi­ta­tion. Un nouveau champ peut être inséré tout en procédant si­mul­ta­né­ment à des actions sur d'autres entrées.

C'est grâce à la vitesse élevée de ce modèle de base de données et à sa liaison simple des clés et des valeurs : si l'on souhaite consulter des in­for­ma­tions, il suffit de saisir la valeur di­rec­te­ment sur la clé spé­ci­fique. Les données sont di­rec­te­ment ac­ces­sibles. Mais c'est à la fois l'un des in­con­vé­nients des Key Value Stores, car aucune autre méthode d'accès n'est vé­ri­ta­ble­ment prévue. En revanche, les bases de données re­la­tion­nelles per­met­tent des requêtes complexes. Le contenu de ces bases de données peut être parcouru selon dif­fé­rents éléments. À l'inverse, une Key Value Store prévoit seulement l'accès à l'aide de la clé. Il faut gé­né­ra­le­ment renoncer à d'autres indices et pos­si­bi­li­tés de recherche.

Les domaines d'ap­pli­ca­tion des Key Value Stores découlent à la fois des avantages ainsi que des con­traintes des bases de données. Aussi, lorsque des temps d'accès rapides sont souhaités pour des quantités con­sé­quentes de données, on utilise les bases de données clé-valeur. C'est la raison pour laquelle les domaines d'ap­pli­ca­tion clas­siques sont par exemple les paniers dans les boutiques en ligne ou les données de session. Les in­for­ma­tions sont ainsi classées de manière claire et doivent être dis­po­nibles dans les plus brefs délais. Pour les grands sites Web très connus, ces bases de données doivent cons­tam­ment produire de nouvelles entrées et supprimer celles devenues obsolètes. Les bases de données clé-valeur con­vien­nent par­fai­te­ment à cette uti­li­sa­tion.

Bases de données clé-valeur connues

Il existe dif­fé­rents systèmes de gestion de base de données (SGBD), reposant sur une Key Value Database.

  • Amazon DynamoDB : le SGBD pro­prié­taire ap­par­tient à Amazon Web Services (AWS) et s'utilise également comme base de données orientée document.
  • Berkeley DB : ce SGBD est développé par Oracle et offre des in­ter­faces pour divers langages de pro­gram­ma­tion.
  • Redis : le projet Open-Source Redis est l'un des SGBD les plus répandus et était déjà utilisé lors d'un stade antérieur de dé­ve­lop­pe­ment d'Ins­ta­gram et de GitHub.
  • Riak : le SGBD Riak existe en version Open-Source, comme solution pro­fes­sion­nelle ou sous la forme de stockage dans le Cloud.
  • Voldemort : le SGBD partagé est utilisé et exploité entre autres par LinkedIn.
Aller au menu principal