Technologies

Publié le 26 février 2015 Mis à jour le 26 février 2015

NoSQL : le supra paradigme des bases de données, à votre portée.

Pour le monde de l’enseignement : rapidité et cohérence

NoSQL signifie «Not only SQL». L’idée de nommer un principe par une éventualité négative parait curieuse, comme si elle démontrait qu’une limitation a été dépassée. Suivez le guide…

SQL (Structured Query Language) : Langage informatique normalisé servant à exploiter des bases de données relationnelles.

Base de données relationnelles : Stock d'informations décomposées et organisées dans des matrices appelées relations ou tables. Le contenu de la base de données peut être traité par des opérations d'algèbre relationnelle telles que l'intersection, la jointure et le produit cartésien.

Les Système de Gestion de Bases de Données Relationnelles (SGBDR) doivent répondre aux principes ACID

A C I D

  • Atomicité : une «transaction» ne peut pas être découpée.
     
  • Consistence : une transaction conserve toujours l’intégrité de la base de données et respecte toutes les règles de la base de données. Soit elle est complétée, soit elle n’a jamais eu lieu.
     
  • Isolement : même si plusieurs transactions sont accomplies simultanément, leur effet final doit être le même que si elles avaient été accomplies l’une après l’autre. Si une transaction résulte en une erreur, cela n’aura aucun effet sur aucune autre transaction.

  • Durabilité : si une transaction a été complétée, elle doit le demeurer, même si le système s’effondre immédiatement après. La base de données doit être stockée sur une mémoire non-volatile.


Cependant, en raison de l’explosion de la quantité de données à traiter et surtout de leur mise en réseau, dans «le nuage», on s’est buté aux conditions trop rigides d’ACID.  Eric Brewer a démontré qu’il est impossible pour un système distribué de pouvoir assurer à tout moment plus de deux des trois conditions de Cohérence, Disponibilité (Availability) et de Résistance au morcellement (Partition Tolerance). Le Théorème CAP a servi de base au développement du NoSQL.

Quand on couple deux bases de données, on doit doubler plusieurs éléments pour respecter les conditions ACID, mais si on doit en coupler 20 ou 200, on arrive rapidement à une impossibilité matérielle.

Le NoSQL garantit qu'au moins deux des trois conditions suivantes seront respectées :

  • que tous les nœuds du système voient exactement les mêmes données au même moment ;
  • que toutes les requêtes reçoivent une réponse;
  • qu’aucune panne moins importante qu'une coupure totale du réseau n’empêche le système de répondre correctement. En cas de morcellement en sous-réseaux, chacun peut fonctionner de manière autonome.


Ainsi, la disponibilité est généralement privilégiée, la vitesse de traitement prodigieuse, et les réponses fournies le mieux possible avec les données les plus récentes.

Pour le monde de l’enseignement

D’abord conçu pour obtenir de la rapidité de traitement sur des gros volumes de données ou pour manipuler des données peu structurées, ces éventualités deviennent de plus en plus courantes pour les institutions d’enseignement.

Quand il s’agit de traiter les données en temps réel issues des plates-formes de gestion des cours ou encore de faire se parler les dizaines de bases de données de différents départements et sur des systèmes différents, pour de nouveaux usages, pour utiliser des données peu structurées comme des photos ou des vidéos, le NoSQL apporte une solution souple et facilement réalisable pour les programmeurs qui en ont compris les principes. Il existe plusieurs cours et tutoriels d’initiation.

MongoDB est un logiciel noSQL Open source.

Enfin, l’exemple de la compagnie d’assurances MetLife est édifiante. En trois mois avec le NoSQL ils ont réussi ce qu’ils tentaient sans succès de faire depuis des années. Plusieurs universités et campus sont dans la même situation. Il y a une solution.

Illustration : pisotskii - ShutterStock

Références

NoSQL : 5 minutes pour comprendre - Amine Chaghal - Neoxia
http://blog.neoxia.com/nosql-5-minutes-pour-comprendre/

10 minutes pour comprendre…NoSQL - Masclet
http://davidmasclet.gisgraphy.com/post/2010/06/09/10-minutes-pour-comprendre...NoSQL

ACID - Wikipédia
http://en.wikipedia.org/wiki/ACID

Base de données relationnelles - Wikipédia
http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnelle

CAP - Wikipédia
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP

Tutoriels NoSQL
http://nosql.developpez.com/cours/

Mongo DB - Base de données noSQL
http://www.mongodb.org/

MetLife Uses NoSQL For Customer Service Breakthrough - Doug Henschen - InformationWeek
http://www.informationweek.com/software/information-management/metlife-uses-nosql-for-customer-service-breakthrough/d/d-id/1109919?


Voir plus de technologies de cette institution

Le fil RSS de Thot Cursus - Besoin d'un lecteur RSS ? Feedly, NewsBlur


Les tweets de @Thot


Accédez à des services exclusifs gratuitement

Inscrivez-vous et recevez nos infolettres en pédagogie et technologies éducatives

Vous pourrez aussi indexer vos ressources préférées et retrouver votre historique de consultation

M’abonner à l'infolettre

Superprof : la plateforme pour trouver les meilleurs professeurs particuliers en France (mais aussi en Belgique et en Suisse)


 

Ajouter à mes listes de lecture


Créer une liste de lecture

Recevez nos nouvelles par courriel

Chaque jour, restez informé sur l’apprentissage numérique sous toutes ses formes. Des idées et des ressources intéressantes. Profitez-en, c’est gratuit !