Le Portail du Manager Innovant

Syndication, fil RSS du site piloter.org    Je suis aussi  sur facebook    Je suis aussi sur  Linkedin    Actualités Twitter
Syndication, fil RSS du site piloter.org  Je suis aussi  sur facebook  Je suis aussi sur  Linkedin  Actualités Twitter
×

Bases de données NoSQL, le principe

15 juin 2021  Par   Partagez
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

base NoSQL

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

À 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 LearningBig 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)...

The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing 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: The Definitive Guide Cassandra
Eben Hewitt
O'Reilly Media
3ème édition 2020
400 pages

Dispo : www.amazon.fr & Format Kindle



Partagez cet article...

Envoyer le lien de cet article par e-mail   
(total partages cumulés > 105)

Sur le même thème...