Spécial Devoxx 2011 : comment tirer parti de NoSQL dans un projet Java

Quel rôle peut jouer Spring Data dans la mise en œuvre d'une base NoSQL ? Quelles sont les contraintes de ce nouveau modèle ? Retour sur la conférence de Chris Richardson de SpringSource.

Quel rôle peut jouer Spring Data dans la mise en œuvre d'une base NoSQL ? Quelles sont les contraintes de ce nouveau modèle ? Retour sur la conférence de Chris Richardson de SpringSource.

Chris Richardson, architecte chez SpringSource, a été très apprécié lors de sa présentation de NoSQL.

SQL est déjà reconnu et répandu, alors pourquoi NoSQL ? Réponse:

  • pour ses aspects de performance,
  • de passage à l'échelle (scaling)
  • et, pas de schéma de donnée figé.

NoSQL présente des centaines de solutions mais pas tout à fait encore à l'heure actuelle de consensus, donc, pas de standard. En attendant, il faut faire avec, être polyglotte, et c'est là que Spring Data intervient !

Après avoir abordé de manière succinte les trois outils NoSQL que sont Redis, Cassandra et MongoDB, et les points qui les caractérisent, Chris Richardson nous à montré comment Spring Data se propose de jouer les intermédiaires pour encapsuler l'accès à la couche de persistance NoSQL. Pour cela, nous retrouvons la notion de templates qui a déjà fait ses preuves avec JDBCTemplate ou MailTemplate, par exemple.

Dans les faits, selon la cible NoSQL choisie, les choses sont plus ou moins complexes à écrire. La principale différence entre SQL et NoSQL étant qu’en SQL, le modèle structure les données tandis qu’en NoSQL ce sont les requêtes qui vont orienter la structuration des données.

De Redis, Cassandra et MongoDB, MongoDB se démarque en fournissant un langage de requêtage riche, proche des facultés de JPA, et offre de très hautes performances.

Il est bien évident que chaque moteur NoSQL possède ses avantages et ses inconvénients, et il faudra faire ses choix selon les besoins des projets.
Enfin, Chris Richardson a tenu à nous mettre en garde car il faudra "faire une croix" sur l'aspect transactionnel, sur les bases de données normalisées et leurs contraintes d'intégrité, etc.

NoSQL n'est ainsi ni mieux ni moins bien que SQL il est tout juste différent !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.