📚 Le concept data : c’est quoi le NoSQL ?
Définition rapide
Le terme NoSQL signifie : Not Only SQL. Cela fait référence à d’autres technologies de bases de données ne reposant pas sur un modèle relationnel classique.
Données semi ou non structurées
Plusieurs besoins ont émergé dont ceux d’avoir à manipuler de plus en plus de données semi-structurées et non-structurées comme celles provenant des :
- Réseaux sociaux ;
- Logs ;
- Fichiers multimédia ;
- Documents.
Scalabilité horizontale
Face à cette augmentation du volume, il était aussi nécessaire d’utiliser un autre moyen d’augmenter les ressources pouvant être utilisées dans la gestion de ces données.
L’augmentation des puissances des serveurs n’augmentant pas suffisamment vite, les technologies se sont plutôt orientées sur l’ajout de nouveaux serveurs sur lesquels il est possible de répartir les traitements.
Avec cette façon de faire, il est plus facile d’ajouter de la puissance en ajoutant des nouvelles machines et en retirant celles ne servant plus.
Les acteurs du cloud sont les plateformes adéquates pour variabiliser ce nombre de machines et ne facturer qu’à l’usage 💪.
Modèle BASE
Les bases NoSQL privilégient souvent la modèle de transaction BASE qui priorise la disponibilité des données et la cohérence des données.
Les types de bases NoSQL
Ce qui nous intéresse particulièrement c’est aussi d’avoir en vue les différents types de bases de données NoSQL.
Documents
On peut parler de MongoDB qui gère des données dans un format proche du JSON et qui s’appelle le BSON et permet d’avoir des schémas de données flexibles.
Paires clés-valuers
Pour ceux qui sont familier avec les dictionnaires en programmation, le principe est le même. On accède à une donnée (valeur) par sa clé.
C’est le principe des bases de données Redis qui offre un accès très rapide aux données.
Graphes
Ce sont des bases qui sont fortement connectées. Néanmoins, ce n’est pas des relations classiques avec clés primaires et clés étrangères, car sinon on ne pourrait appeler cela du NoSQL, mais plutôt dans le sens de liens complexes entre différentes entités.
Pour imager cela, on peut dire que 2 personnes sont fortement connectées car elles ont un ami en commun, un hobby commun. Vous l’aurez peut-être deviné, c’est le principe même des réseaux sociaux.
On cite régulièrement la base de données, Neo4j qui permet de faire des graphes.
Je n’ai pas fait de liste exhaustive, mais cela vous donne un bon aperçu de ce que peut être du NoSQL 😁.
Merci de votre lecture !