Les bases de données No SQL comme MongoDB, Cassandra et Couchbase pêchaient par leur administration. MongoDB veut se différencier avec son récent MMS.
L’arrivée de Microsoft dans l’environnement Open source met l’emphase sur ces outils Open source dont la croissance paraît phénoménale. Promues depuis longtemps par Amazon ou Google, c’est leurs données, au format JSON (Java Script Object Notation), largement utilisées pour récupérer des informations concernant les utilisateurs d’un site web qui ont participé à leur succés. C’est le cas, en particulier, des bases de données Non SQL comme MongoDB, Cassandra et Couchbase. Le format de données textuelles de JSON, générique, dérivé de la notation des objets du langage JavaScript permet de représenter de l’information structurée comme l’autorise, par exemple, XML. Selon les éditeurs, les principaux attributs de NoSQL sont ses performances, l’évolutivité et la facilité de gestion et d’intégration.
MongoDB, derrière l’open source se cache toujours une vraie société
L’argument des hébergeurs et donc désormais de Microsoft est d’offrir les moyens de simplifier l’administration de ces bases sur leurs plateformes. Mais MongoDB, crée par la société 10 gen, une firme qui emploie plus de 400 personnes, vient de lui adjoindre une enveloppe d’administration MMS pour rendre ses bases et ses données plus faciles à manipuler dans un data center. Cette extension payante, à partir de 8 serveurs, devrait réduire l’écart qui existait entre MongoDB et Cassandra, l’autre base de données No SQL. Autre raison du succès de ces outils : leurs interfaces simples avec les outils Map Reduce, synonyme de Big data.
Oracle fait aussi du No SQL
Oracle d’ailleurs fait la promotion de sa base de donnée No sql avec le big data comme motivation principale. En ce qui concerne NoSQL, Andrew Mendelsohn, (photo), le Vice président D’Oracle avait bien résumé , il y a déjà deux ans, lors du lancement de l’offre maison : « NoSQL est bon pour les applications qui nécessitent des requêtes rapides, des requêtes simples sur des base de données simples (recherches clé / valeur, sans jointures), celles qui utilisent un schéma défini dynamiquement par l’application elle-même, et celles qui réclament des exigences d’évolutivité extrêmes. »
Pourquoi le No SQL progresse ?
Pour comprendre l’intérêt des bases No SQL, il faut certainement avoir longtemps souffert avec les schémas rigides des bases de données classiques SQL et payé des royalties non négligeables à leurs éditeurs. Pour les défenseurs des produits No SQL, les SGBD SQL classiques nécessitent de longues déclarations préalables et des schémas relationnels difficilement modifiables, rapidement. Sur plusieurs années, l’exploitation des bases de données classiques est souvent considérée comme coûteuse parce qu’elle engendrerait, par sa maintenance, 80 % des interruptions d’application. Du point de vue de l’hébergeur de référence, Google, qui participe souvent aux réunions d’éditeurs de logiciels, le problème des base de données relationnelles classiques tient surtout au fait qu’elles aient été conçues au départ pour des configurations destinées à un serveur unique, pas pour des déploiement horizontaux sur des dizaines de serveurs interconnectés comme on les trouve sur les gros sitesWeb. (Néanmoins, les versions les plus récentes des SGBDR ont été justement réécrites pour exploiter au mieux les plus récents serveurs mutlicoeurs). De plus, la majorité d’entre elles a été conçue dans les années 90 pour ne servir que 1000 opérations par seconde, pas les 100 000 IOPS actuelles. Dans la plupart des centres de données, même avec beaucoup d’heures d’ingénierie, l’ajout de couches de « fragmentation » conçues pour réduire les volumes à gérer, et des caches de tous bords pour amortir les débordements, la mise en route d’un SGBDR tient souvent du lancement d’une fusée intercontinentale.
Google finira t-il par vendre sa base ?
A ce propos, Google fait désormais la promotion de sa base interne, Spanner, qui est une base distribuée dont la fonction de synchronisation et de réplication n’est plus dans la démarche NOSQL. Elle propose pourtant Mango DB et Cassandra en mode SaaS pour ses clients, par ailleurs.
La base Spanner est brillamment présentée (en anglais) par notre confrère Wired sur http://www.wired.com/2012/11/google-spanner-time/all/. Cette base Spanner remplace l’ex MSQL customisé, depuis la rachat de cet outil par Oracle. Spanner nourrit la base de donnée SQL F1 maison.
Les bases NO SQL ne sont pas exclues de critiques
Parmi les critiques qui étaient justement faites aux produits comme Mongo DB, faciles à modifier, (MongoDB serait la base no SQL la plus répandue) l’une d’elles était de ne pas être faciles à manipuler sur plusieurs serveurs à la fois, les limitations de performances étant souvent liées. Souvent associées dans l’esprit des utilisateurs à des structures comme celles de Domino, on leur reproche souvent de ne pas posséder de moteurs de recherche interne ou encore d’etre écrites en java script au lieu du langage c plus efficace. MongoDB qui a cependant été écrite en C++ est mise en cause sur le fait qu’elle stocke des métadatas non compressées, synonyme de beaucoup d’espace disques gâchés. Mais MongoDB (de l’anglais humongous, qui signifie gigantesque) progresse à raison de plusieurs milliers de téléchargements par jour tout comme l’outil de développement Node JS et séduit parce qu’elle est facile à mettre en oeuvre et qu’elle permet de corriger facilement ses erreurs sans tout remettre en cause
Une version plus facilement administrable mais payante
Le complexe du développeur face aux opérateurs qui peinent souvent à gérer ses développements devrait diminuer. La firme de New York 10G à la base de MongoDB vient donc de proposer son MMS (Mongo Management Service) conçu pour l’administration dans le cloud. La mise à jour, le redimensionnement, le rééquilibrage et d’autres opérations critiques seront désormais exécutés sans interruption de l’application. Du coté back up, la version MMS sauvegarde les déploiements en continu, mais elle présenterait un décalage de quelques secondes par rapport à la version principale. Les utilisateurs peuvent restaurer leurs déploiements à n’importe quelle heure selon les besoins. Pour les entreprises utilisant Amazon Web Services (AWS), MMS permet de lancer et d’optimiser des instances pour MongoDB automatiquement. MMS est gratuit pour les huit premiers serveurs, puis le coût est de 50 $/serveur par mois. Le stockage de sauvegarde facultatif coûte 2,50 $/Go par mois, selon la taille des données. La version payante destinée aux entreprises (9 000 euros par ans) n’est pas la plus connue. Elle dispose d’une sécurité avancée avec le système de Kerberos et dispose d’un outillage très étendu. MMS peut envoyer aux utilisateurs des alertes personnalisées sur plus de 100 paramètres systèmes, par e-mail ou SMS. Interrogé sur les coûts de formations, Yann Aubry, le responsable de la filiale française précisait qu’il fallait compter entre 500 et 700 euros par jour et de 1 000 à 2 000 euros pour une intervention d’un ingénieur spécialisé.
L’exemple de l’annuaire de services de Bouygues Télécom
Demain à Paris, le 18 Novembre, auront lieu les MongoDB Days, chez Zenika, un société de formation parisienne. Bouygues Télécom par l’intermédiaire de son chef de projet Pierre-Alban Dewitte, y présentera l’évolution de son annuaire des services basé sur MongoDB . Selon la présentation de l’intervention , la réunion vaudra le détour. Ce système crée autour de MongoDB est critique pour réaliser les paiements sur facture des abonnées de Bouygues, s’authentifier sur sa boite de messagerie, regarder la télévision en streaming et bien d’autres services. Il y a quelques années, une solution classique du marché avait été choisie. Après de nombreux problèmes – de performances et de trop grande rigidité du modèle – ce système a été remplacé par un développement spécifique donc architecturé autour de MongoDB, Apache Storm et Apache Tomcat. Le système mis en place après de nombreuses modifications un système disponible à 99,9% avec des sollicitations pouvant aller jusqu’à 3 000 requêtes par seconde.