Phone number01 71 18 39 73

NoSQL (not only SQL) - Brief Techno

Optimiser MySQLVous avez des problématiques de performance ? Vous avez entendus parler du NOSQL ?

Ce document vous donnera une vision synthétique de l'intérêt d'utiliser NOSQL sur ses projets Web.

Il vous offriera un panorama des différents types de base de données NOSQL.

 

Définition du NoSQL

Le NoSQL regroupe de nombreuses bases de données, récentes pour la plupart, qui se différencient du modèle SQL par une logique de représentation de données non relationnelle. Leurs principaux avantages sont les performances et leur capacité a traiter de très grands volumes de données.

L'avis de TheCodingMachine sur le NoSQL

Ces bases de données proposent une nouvelle représentation de l’information. En s’affranchissant des contraintes ACID (atomicité, cohérence, isolation, durabilité - cf. article de Wikipedia "Transaction Informatique") du modèle SQL, elles ont le très gros avantage de fournir une architecture technique où il suffit de rajouter des serveurs pour gagner en performance sans trop se poser de questions.

En revanche, dans les projets, il ne faut pas opposer ces deux approches mais bien souvent les faire cohabiter ! Cette technologie (le NoSQL) ne vise finalement pas à remplacer les SGBD traditionnels mais plutôt à les compléter en déportant une partie de la charge vers le midle-tiers (dans les architectures web classiques).

4 types de base de données NoSQL

1 - Clé - valeur  : La représentation la plus simple. Cette structure est très adaptée à la gestion de caches ou pour fournir un accès rapide aux informations. Elle fonctionne comme un grand tableau associatif et retourne une valeur dont elle ne connaît pas la structure.

2 - Document : Ajoute au modèle clé-valeur, l’association d’une valeur à structure non plane, c’est-à-dire qui nécessiterait un ensemble de jointures en logique relationnelle. 

3 - Colonne  : Autre évolution du modèle clé-valeur, il permet de disposer d'un très grand nombre de valeurs sur une même ligne, permettant ainsi de stocker les relations de type one-to-many. Contrairement au système Clé-Valeur, celui-ci permet d’effectuer des requêtes par clé.

4 - Graphe : Permet la modélisation, le stockage et la manipulation de données complexes liées par des relations non-triviales ou variables.

Quelques exemples des acteurs du NoSQL

  • Redis - type clé - valeur
  • MongoDB - type document
  • CouchDB - type document
  • HBase - type colonne
  • Cassandra - type colonne
  • Neo4j - type graphe

Quels sont les avantages du NoSQL ? 

A part être une super nouvelle techno pour Geek qui se la racontent, c'est la notion de "fit to code". Le NoSQL permet de stocker les informations d'une manière qui colle mieux à leur représentation. Exemple :  

  • les BDD type document s'adaptent au stockage de données non planes (type profil utilisateur);
  • les BDD type colonne s'adaptent très bien au stockage de listes (messages, posts, commentaires, etc...);
  • les BDD type graphe permettent de mieux gérer des relations multiples entre les objets (comme pour les relations dans les réseaux sociaux)...
x
Pour recevoir ce livre blanc, merci de nous laisser votre email* :
Veuillez patienter ...
Merci de saisir un email valide.
* Vos données sont confidentielles et ne seront pas transmises à des tiers