Les bases de données NoSQL

Depuis toujours, la gestion des données issues de nos différentes transactions a constitué un problème épineux, du fait du nombre sans cesse croissant de ces données et de la multiplicité de leurs types. Il a, à chaque fois, fallu trouver des moyens adéquats afin d'avoir une gestion efficiente de ces données, et surtout pour assurer leur très bonne disponibilité. L'informatique a donné un moyen formidable pour réaliser cette tâche colossale au travers des bases de données. Ce sont des organisations qui permettent de stocker, de ranger et de rendre toute sorte de données disponibles pour toute recherche. Pour procéder à la gestion de ces bases, des logiciels appelés Système de Gestion de Bases de Données (SGBD) sont créés. Ce sont des logiciels qui, grâce à certaines typologies, sont classés en plusieurs familles. Si le modèle relationnel a, jusqu'à nos jours, été celui le plus utilisé pour les SGBD, le modèle NoSQL connaît depuis quelques années une expansion fulgurante. Découvrons quelle en est la raison, et en quoi consiste ce modèle.

Contexte de création

L'avènement des géants du web a généré une montée exponentielle de la quantité des données circulant çà et là. C'est ce qu'on appelle le Big Data. Moteurs de recherches, réseaux sociaux, sites d'informations et bien d'autres grands sites ont été la cause principale de la création de ce type de modèle. En effet, les grappes de serveurs se sont développées avec eux, car les données étant extrêmement nombreuses, le clustering était la seule solution pour une gestion efficiente de ces données. Le modèle relationnel des traditionnels SGBD, implémentant strictement les règles ACID (Atomicité Cohérence Isolation Durabilité), convenait de moins en moins à cette nouvelle manière de stocker les données. Il a donc fallu trouver une architecture différente du modèle relationnel porté par le langage SQL. La création du paradigme NoSQL (Not Only SQL pour certains) s'est donc faite. Un modèle non relationnel est donc né avec comme avantage d'être Open Source. Cela a permis aux grandes entreprises de mettre en place leurs propres SGBD.

Principe et variantes du NoSQL

Le NoSQL a pour but principal de permettre de gérer un volume conséquent de données tout en assurant sa disponibilité à un nombre de clients en constante augmentation. En réalité, ce n'est pas une tout autre manière de faire les choses, mais plutôt une nouvelle manière améliorée par rapport à la précédente, permettant cette fois-ci de procéder plus rapidement aux traitements des données par certaines applications. Le traitement des données devra désormais respecter certaines règles :

  • la cohérence stipule que tous les nœuds de stockage du système devront voir exactement les mêmes données en même temps ;
  • la très grande disponibilité stipule que lorsque survient une panne, les données sont toujours accessibles ;
  • le partitionnement permet au système d'être partitionné.

L'avantage avec ces règles du NoSQL réside dans le fait que dans un même temps, seulement deux d'entre elles peuvent être respectées. Cela demande ainsi moins de travail au système. La performance est donc accrue avec les 4 grandes familles de bases de données NoSQL que sont : les bases orientées clé/valeur, celles orientées colonne, celles orientées document (JSON, XML, etc.) et celles orientées graphe.