Bases de données NoSQL, le principe
Que sont les bases de données Not only SQL ? Quelles sont les applications où elles s'avèrent plus performantes que les bases de données relationnelles SGBD-R ? Cette génération de bases de données remettent partiellement en cause les fondamentaux des classiques bases relationnelles pour obtenir essentiellement des gains en performance avec des systèmes très largement répartis. Mais pas seulement... Voyons tout cela...
Bases de données NoSQL Vs SGBDR
Que sont les bases de données NoSQL ?
Les
bases de données relationnelles se prêtent mal aux exigences des applications massivement parallèles exploitant de grandes quantités de données.
Les bases de données NoSQL (Not only SQL) marquent une rupture assez brutale avec la manière de concevoir les schémas de données que l'on pratique depuis (déjà !) quelques décennies.
Spécifiquement dédiées aux applications orientées Internet, les bases de données NoSQL pallient ainsi aux difficultés de la gestion de bases de données relationnelles un peu trop conséquentes et réparties sur plusieurs machines.
Pourquoi NoSQL ?
Le
langage SQL règne en maître sur les bases de données relationnelles depuis quelques décennies.
SQL est un langage d'interrogation dit de 4ème génération standardisé, à quelques variantes près proposées par les principaux éditeurs de base de données.
Les bases de données relationnelles, étroitement associées au langage SQL, comportent intrinsèquement un certain nombre de règles d'organisation - les formes normales par exemple, pour garantir la robustesse du schéma relationnel - et de sécurité incontournables. Ces règles sont particulièrement efficaces pour un mode de gestion courant des données. Mais elles s'avèrent être un véritable obstacle pour le déploiement de bases de données de grande envergure et redondantes, comme le nécessite le big data, stockage et analyse. Il faut donc adopter un autre mode de gestion des données pour faciliter les analyses massives.
Principe des bases de données NoSQL
Les bases de type NoSQL,
a fortiori les bases orientées "document", délaissent les points forts des bases relationnelles, que sont la notion d'enregistrement et les relations entre éléments, pour se focaliser sur la notion de "document". Les bases NoSQL s'avèrent beaucoup plus flexibles et bien plus évolutives. La structure organisationnelle n'est plus liée à un schéma relationnel difficile à modifier, et la base peut donc croître sans contrainte.
D'autre part, l'orientation "document" facilite le déploiement de la base sur de multiples machines. En automatique bien sûr. Le développeur ne se préoccupe pas de la localisation des documents, fractionnés ou pas.
Lorsque la base devient trop importante, il suffit de définir de nouvelles machines connectées sur le réseau, un nouveau cluster, et la base NoSQL se débrouille.
C'est bien là la réponse aux nouvelles applications exigeantes en rapidité de traitement et en quantité de données gérées, des quantités de l'ordre de plusieurs centaines de téraoctets, par exemple.
À noter, il existe aussi les bases NoSQL de type "colonnes" et les bases de type "graphes".
Les bases de type "colonnes" sont une excellente solution pour réaliser des analyses massives. Elles sont toutefois plus complexes à exploiter.
Les bases de type graphes sont plus délicates à appréhender. Comme leur dénomination l'indique, elles sont plus adaptées à la résolution des questions d'organisation en réseau (structure en arcs et noeuds), particulièrement utiles pour gérer les notions d'appartenance à des groupes sociaux par exemple. Il suffit en effet de suivre le graphe en parcourant les noeuds pour percevoir l'ensemble des liens et accéder plus aisément à un élément précis. Voir aussi Map-Reduce
Est-ce la fin des SGBD relationnels ?
Les bases de données NoSQL ne remplacent pas nécessairement les bases de données relationnelles. Elles ne s'adressent pas aux mêmes types d'applications. Pour le moment en tout cas.
Ainsi, elles ne sont pas toutes totalement rigoureuses sur l'intégrité des
transactions (ACID) et ne garantissent pas systématiquement la consistance des données.
Cela dit, la tolérance aux pannes, la flexibilité et l'évolutivité sans contrainte, trois caractéristiques des bases NoSQL, sont des préoccupations pour tous les concepteurs de bases de données.
Les impératifs du "time to market" toujours plus court sont un bon aiguillon pour inciter les DSI à réviser sérieusement la gestion des données de l'entreprise. Il s'agit en effet d'adopter des solutions à la mise en oeuvre plus rapide. Bien entendu, toutes les applications ne basculeront pas du jour au lendemain sur les nouveaux modèles de bases de données. Mais une réflexion pour une optimisation efficace des principes de stockage en accord avec les applications utilisatrices s'impose.
Ressources en ligne
Principales bases NoSQL Open Source
- CouchDB, un produit du projet Apache couchdb.apache.org. C'est une base de type "documentaire".
- Cassandra développée chez Facebook, et maintenant en Open Source, gérée par la fondation Apache cassandra.apache.org. C'est une base de type "colonnes".
- MongoDB, une base NoSQL orientée document, particulièrement bien diffusée et professionnalisée mongodb.org
- Redis, REmote DIctionary Server Redis
Autres bases NoSQL à connaître
- Hbase, le coeur de Hadoop dans la couveuse de projets de la fondation hbase.apache.org
C'est une base orientée colonnes avec tolérance aux pannes. Elle utilise le système de fichier HDFS (Hadoop Distributed File System) et une API Java permet de s'interfacer. Hbase est particulièrement adaptée pour gérer de très grandes bases de données de l'ordre de 109 enregistrements.
- SimpleDB, la base NoSQL de Amazon.com
- Hypertable, construite sur le modèle "bigtable" de Google Corp hypertable.org
- Orientdb, une base de type "graphes" Orientdb.com
- Oracle NoSQL, une solution Client Serveur de Oracle Oracle NoSQL
Présentation détaillée du livre "la transformation démocratique de l'entreprise"
L’auteur
Alain Fernandez est un spécialiste de la mesure de la performance, de l’aide à la décision et de la conception de tableaux de bord de pilotage. Au fil de ces vingt dernières années, il a conduit de nombreux projets de réalisation de système décisionnel en France et à l'International. Il est l'auteur de plusieurs livres publiés aux Éditions Eyrolles consacrés à ce thème, vendus à plusieurs dizaines de milliers d'exemplaires et régulièrement réédités.
À ce sujet, voir aussi
- MapReduce, définition
MapReduce est un modèle de programmation massivement parallèle adapté au traitement de très grandes quantités de données. Les programmes adoptant ce modèle sont automatiquement parallélisés et exécutés sur des clusters (grappes) d'ordinateurs. MapReduce est un produit Google Corp.
- Hadoop, définition
Hadoop est un projet Open Source géré par Apache Software Fundation basé sur le principe Map Reduce et Google File System, deux produits Google Corp. Le produit est écrit en langage Java. Le principe repose sur l'exécution du traitement répartie multi noeuds pour augmenter drastiquement les capacités de calculs et de stockage afin de traiter de très grandes quantités de données.
- Les bases de données relationnelles, SGBDR
Définition, historique et principe des bases de données relationnelles qui représentent encore aujourd'hui la très large majorité des SGBD d'entreprise. Nous passerons en revue les questions essentielles de cohérence, de transaction et du modèle ACID ainsi que les notions de triggers, de procédures stockées, de verrou et de Deadlock. - Qu'est-ce qu'un langage L4G ? Exemple : SQL
Qu'est-ce qu'un L4G langage de 4ème génération ? En quoi est-il différent des autres langages Étudions pour mieux comprendre le cas de SQL, langage majeur s'il en est.
À lire...
Un premier livre plus généraliste sur le Big Data mais qui traite aussi comme il se doit des spécificités des bases NoSQL...
Big Data et Machine Learning
Les concepts et les outils de la data science
Pirmin Lemberger, Marc Batty, Médéric Morel, Jean-Luc Raffaëlli
Dunod 3ème édition 2019
272 pages
Dispo :
www.amazon.fr
Un deuxième guide pratique de la base de données Open Source orientée document : MongoDB. The NoSQL Database for Cloud and Desktop Computing (Langue anglaise)...
MongoDB
P. Membrey, E. Plugge, T. Hawkins
Apress
3ème édition 2015
376 pages
Dispo :
www.amazon.fr & Format Kindle
Un dernier guide pratique de la base de données Open Source orientée document...
Cassandra
Eben Hewitt
O'Reilly Media
3ème édition 2020
400 pages
Dispo :
www.amazon.fr & Format Kindle
Piloter l'Entreprise Innovante...
La prise de décision en équipe ne s'improvise pas. Pour parvenir à ce mode de management délégataire, crucial pour les organisations actuelles, privées comme publiques, un indispensable travail de fond prélable est nécessaire. La méthode SOCRIDE centrée sur les questions incontournables de Confiance et de Reconnaissance est ici expliquée, illustrée et détaillée :
Les tableaux de bord du manager innovant
Une démarche en 7 étapes pour faciliter la prise de décision en équipe
Alain Fernandez
Éditeur : Eyrolles
Pages : 320 pages
Consultez la fiche technique »»»
Pour acheter ce livre :
Format ebook : PDF & ePub,
Format Kindle
Voir aussi...
Partagez cet article...
(total partages cumulés > 105)