Qu’est-ce qu’une base de données NoSQL ?
NoSQL signifie « Not only SQL », constitue une alternative aux bases de données relationnelles dans lesquelles les données sont placées dans des tables et dont le schéma de données est soigneusement conçu avant la construction du base de données. Les bases de données NoSQL sont particulièrement utiles pour travailler avec de grands ensembles de données distribuées.
Pourquoi utiliser les bases de données NoSQL?
Avec l’explosion des médias sociaux, le contenu axé sur l’utilisateur a connu une croissance rapide et a augmenté le volume et le type de données produites, gérées, analysées et archivées. En plus, de nouvelles sources de données, telles que des capteurs, des GPS et d’autres systèmes de surveillance, génèrent régulièrement d’énormes volumes de données.
Ce grand volume de données, également appelés « Big data », ont introduit de nouveaux défis et opportunités pour le stockage, la gestion, l’analyse et l’archivage des données. En plus, les données deviennent de plus en plus semi-structurées et rares. Cela signifie que les bases de données SGBDR qui nécessitent une définition de schéma et des références relationnelles sont examinées.
Pour résoudre le problème lié aux données volumineuses et semi-structurées, les base de données NoSQL sont apparues. Ces base de données se composent des données orienté colonnes, orienté document, orienté graphe et orienté clé/valeur. La base de données NoSQL est composée de divers produits, chaque produit ayant des ensembles uniques de fonctionnalités.
Types de bases de données NoSQL
Il existe principalement quatre catégories de bases de données NoSQL. Chacune de ces catégories a ses attributs et ses limites. Aucune base de données spécifique n’est préférable pour résoudre tous les problèmes. Vous devez sélectionner une base de données selon les besoins de votre projet. Voici les quatre types de bases de données NoSQL :
- Orienté clé-valeur
- Orienté colonne
- Orienté graphes
- Orienté document
Orienté clé-valeur
Une base de données orienté clé-valeur a une grande table de hachage de clés et de valeurs. Serveur Redis, Memcached et Scalaris sont des exemples de base de données clés-valeurs.
Orienté colonne
Chaque bloc de stockage contient des données provenant d’une seule colonne. Chaque colonne est traitée séparément. Les valeurs des bases de données orienté colonne sont stockées de manière contiguë.
Ils fournissent des performances élevées sur les requêtes d’agrégation telles que COUNT, SUM, AVG, MAX, etc., car les données sont facilement disponibles dans une colonne.
Les bases de données NoSQL basées sur des colonnes sont largement utilisées pour gérer les entrepôts de données, le CRM, etc…
HBase, Cassandra, Hypertable sont des exemples de bases de données basées sur des colonnes.
Orienté graphes
Une base de données basée sur des graphes est une base de données réseau qui utilise des nœuds pour représenter et stocker des données. Neo4J, InfoGrid, Infinite Graph et FlockDB sont des exemples de base de données orienté graphes.
Orienté document
Une base de données NoSQL orienté document stocke et extrait les données sous forme d’une paire clé/valeur, mais la partie valeur est stockée sous forme de document. Le document est stocké aux formats JSON ou XML. La valeur est interprété par la base de données et peut être interrogée.