NoSQL au Paris JUG

Leave a Comment
La fièvre du NoSQL n’a pas échappé à Antonio et à son équipe du ParisJUG. Ainsi la soirée mensuelle du JUG était consacrée, ce mardi 14 septembre, aux technologies NoSQL. Il y avait au programme deux présentations : la première, une introduction générale au NoSQL, était animée par Olivier Malassi d’OCTO et Michaël Figuière de Xebia et la deuxième animée par Steven Noels de Outerthought revenait sur son expérience du NoSQL basée sur la réalisation d’un CMS. 

Un tour d'horizon

Les mythes autour du NoSQL : Ils ont précisé que le mouvement NoSQL n’a pas pour objectif la mort du SQL, il constitue plutôt une solution alternative et parfois complémentaire à la technologie traditionnelle et plus éprouvé du relationnel. Le NoSQL comme n’importe quelle technologie doit être utilisée à bon escient. Rappelez-vous ce principe: « The right tool for the right job ». En clair, en fonction du problème que vous avez sous la main vous choisirez soit le NoSQL soit une base relationnelle. Et ce choix devrait rester technologique et non dogmatique.

A l’origine les géants du web

Face à de fortes contraintes (volume de données énorme, exigence forte de disponibilité…) les géants du web comme Google, Amazon, LinkedIn ou Facebook ont créé de nouveaux systèmes de stockage et de traitement de données. BigTable chez Google, Dynamo chez Amazon, Cassandra chez Facebook et Voldemort chez LinkedIn. Les problématiques auxquelles ces géants faisaient face les a poussés à opérer un changement radical de paradigme. Par exemple ils considèrent que, dans un système constitué d’un très grand nombre de nœuds, il existe à chaque instant t un nombre non négligeable de nœuds qui tombent. Cette dimension est ainsi prise en compte lors du design des systèmes et on sait ce qu’il faut lorsque cela arrive.

Un mouvement dominé par l’Open Source

A ce jour le mouvement du NoSQL est dominé par des solutions open source dont certaines des plus connues sont : HBase (Apache Hadoop), Cassandra, MongoDB, CouchDB, Neo4j.
Les différents types de technologies NoSQL:
  • Systèmes de stockage distribué orienté paire key-value : Ces solutions peuvent être vues comme des « hash map » donc constituées d’une paire clé-valeur. Exemples : Voldemort, MemcacheDB.
  • Systèmes de stockage orientés document : Dans ces systèmes les données sont stockées dans des documents plutôt que dans une table comme dans une base de données relationnelle. Exemples : Apache CouchDB, MongoDB, SimpleDB d’Amazon. Pour en savoir plus : Document-oriented databases
  • Systèmes de stockage orientés graphe : Ces bases de données stockent les données dans un graphe plutôt que dans une table. Neo4j est un exemple de ce type de base de données écrit en Java et en open source. Pour en savoir plus : Neo4j.
  • Systèmes de stockage orientés colonne : Dans ces systèmes les données sont stockées par colonnes plutôt que par lignes comme dans les bases de données relationnelles. C’est une notion pas forcément évidente à assimiler à premier abord. Voici un lien pour y voir un peu plus clair : Column-oriented data stores.

Un terrain d’innovation mais….

Le NoSQL est aujourd’hui un terrain d’innovation et une technologie assez jeune, surtout comparé aux technologies relationnelles fortes de leur quarantaine d’expérience. Qu’on ne s’y méprenne pas cette jeunesse est toute relative quand on sait que ces technologies NoSQL sont utilisées dans des conditions extrêmes comme chez Google, Amazon, Facebook ou LinkedIn.
 
Un CMS basé sur HBase et SOLR

Dans la présentation le speaker, Steven Noels, nous présente comment ils ont construit un Content Management System, Lily, autour de technologies NoSQL à savoir HBase, SOLR et bien d’autres.
Il a commencé par présenter l’architecture classique d’un CMS puis les limites de celle-ci, notamment le fait que dans ces systèmes tout est fait pour ne pas parler à la base de données notamment par ajout de caches à plusieurs niveaux. S’ils voulaient pousser plus les performances de leur CMS ils avaient le choix entre plusieurs solutions par exemple ajouter plus de bases de données, un bus de messages ou changer complètement de paradigme et passer au NoSQL.
Ils ont au final opté pour cette dernière solution en choisissant HBase pour le stockage des données et SOLR, un serveur de recherche basé sur Lucene, pour la recherche. Ce choix n’aurait pas été évident à cause notamment du nombre pléthorique de solutions disponibles et du buzz marketing qui les accompagne.
Voici quelques les ayant aidés à choisir :
  • Un passage à l’échelle automatique (automatic scaling to large data set) 
  • La tolérance à la panne 
  • Une solution open source et capable de tourner sur du matériel de base 
  • Une solution basée sur du Java
  • Un modèle de donnée flexible
Steven est revenu sur les notions de « column family » et de région.
L'architecture de Lily est disponible sur son site et donne une vision intéressante de l'article des différents composants.

A retenir
  • Le NoSQL n’est pas là pour tuer les bases de données relationnelles mais il offre seulement une autre alternative particulièrement adaptée à certains problèmes.
  • Faites attention au marketing et aux « buzz words » ! Etudiez sérieusement le choix de technologies NoSQL car il est crucial pour le choix de votre projet.
  • Le NoSQL n’est pas forcément le choix à faire pour votre problème. Une base de données relationnelle peut être mieux adaptée.
Allez plus loin

Vous avez envie d'aller plus loin et explorer davantage les technologies de l'univers NoSQL et des big data? Voici quelques liens qui pourraient vous aider :
Bien sûr ce compte rendu ne reflète pas entièrement ce qui s'est dit à la soirée NoSQL. Pour le compléter vous pouvez vous référer à l'article de Nicolas Martignole alias Touilleur Express ici et aux photos publiées sur le site de Paris JUG ici.
© Nouhoum TRAORE.. Fourni par Blogger.