Qu’est-ce qu’une base NoSQL ? Les cas Datastax et MongoDB
Les bases de données NoSQL sont de plus en plus utilisées mais savez-vous vraiment ce qu’elles renferment ? Prenons les exemples de Datastax (Cassandra) et MongoDB qui figurent parmi les solutions NoSQL les plus utilisées du marché.
A quoi sert une base NoSQL ?
Les bases relationnelles ont été « inventées » par Edgar F. Codd en 1970. A l’époque, ce fut une approche révolutionnaire (modèle relationnel des données, algèbre de relations, sélections, projections, jointures, etc…). Oracle fut la première société à commercialiser un produit conforme à ce concept, dès 1977, avec le succès que l’on connait. Ces dernières années, plusieurs avis nuancés ont été émis concernant le modèle relationnel :
- Difficultés pour sauver et récupérer des grappes d’objets avec des programmes écrits en Java ou C#... (on parle de « mismatch d’impédance)
- Difficultés pour satisfaire les besoins des applications Web à grande échelle (nouveaux besoins métiers, nouvelles contraintes techniques)
Voici les 3 aspects qui ont motivé la nouvelle vague de bases NoSQL (Not Only SQL..) :
- Le VOLUME des données créées double tous les 2 ans. IDC estime qu’en 2020 le volume atteindra 44 Zettabytes (1 ZB = 1 milliards de terabytes)
- La VARIÉTÉ des types de données créées (Smartphones)
- La VÉLOCITÉ avec laquelle les données changent est également très importante (Internet of Things)
En fait, le terme base NoSQL définit une nouvelle génération de produits qui ne suivent pas le modèle relationnel. Mais l’architecture de ces produits varie beaucoup entre eux.
4 types de bases de données NoSQL
Clé- valeur, document, colonnes et graphes sont les 4 types de bases de données NoSQL. Etudions d’un peu plus près chacun de ces types.
Type 1 : Entrepôts clé-valeur (ECV)
Les données sont stockées en clé-valeur : une clé plus un BLOB (dans lequel on peut mettre : nombre, date, texte, XML, photo, vidéo, structure objet).
Type 2 : Bases orientées documents
Ces bases de données stockent des données semi-structurées : le contenu est formaté JSON ou XML, mais la structure n'est pas contrainte.
Type 3 : Bases orientées colonnes
Ces bases de données se rapprochent des bases de données relationnelles, à ceci près qu'elles permettent de remplir un nombre de colonnes variable.
Type 4 : Bases de données orientées graphes
Ces bases de données, basées sur la théorie des graphes, sont gérées par noeuds, relations et propriétés. Elles gèrent des données spatiales, sociales ou financières (dépôts/retraits).
Les cas Datastax et MongoDB
Le Gartner Group a publié fin 2015 une étude intitulée : « Magic Quadrant for Operational Database Management Systems ». (Il est possible d’en obtenir une copie en allant sur le site de DataStax). Cette étude couvre un éventail de solutions comprenant des bases de données relationnelles et des bases NoSQL.
Nous notons que, parmi toutes les solutions NoSQL figurant sur ce Magic Quadrant (en plus des bases relationnelles), les produits DataStax (fondé sur Cassandra) et MongoDB figurent en très bonne place (carré « LEADERS »). Pour mémoire, ces deux produits appartiennent respectivement aux groupes 3 et 2 décrits plus-haut dans ce billet.
DIGORA a développé des compétences pour vous aider à mettre en œuvre et administrer ces deux solutions. De plus, DIGORA peut vous proposer une solution Cloud pour héberger votre environnement NoSQL basé sur un de ces produits.
Pour aller plus loin
Nous vous recommandons un excellent livre des éditions DUNOD sur ce sujet : Big Data et Machine Learning. Pour plus de précisions sur les bases NoSQL, consultez le chapitre 3.
Contactez-nous pour de plus amples informations.