NimbusDB ou la reconciliation entre SQL et NoSQL

Logo NimbusDBDans un précédent article intitulé Qu’est ce que le NoSQL ?, je mentionnais les défenseurs du Sql contre les oficionados au NoSQL et inversement.

Les fans du NoSQL mettent en avant scalabilité,  performances incroyables et solides tolérances aux pannes. Ceux du SQL sont convaincus que NoSQL est un phénomène de mode qui sera rapidement marginalisé et que la logique transactionnelle a déjà fait ses preuves, que le langage SQL étant adopté massivement par l’ensemble de l’industrie informatique, il n’est pas utile de concevoir de nouvelle logique de stockage des données.

Pour réconcilier les deux mondes, un compromis existe. Il nous vient de la société NimbusDB, situé à Cambridge, tout prêt du MIT (Massachusetts Institute of  Technology).

Fondée en 2010 par  Barry Morris et Jim Starkey, cette société continue à croire et à miser sur Sql. Elle concède cependant que les systèmes  transactionnels classiques présentes des limites incompatibles avec les besoins et les volumétries du Web actuel.

D’un autre coté, si NoSQL compense en grande partie ces limites c’est au prix d’une simplification extrême du schéma de donnée et de restrictions importantes dans les possibilités de requête.

NimbusDB se présente comme une base de données transactionnelles ACID, compatible SQL mais conçut autour d’une architecture distribuée.

Ni tout à fait SQL, ni tout a fait NoSQL, cette solution appartient à une nouvelle famille appelée ‘NewSQL‘.

 

Les fondateurs

Loin d’être des illuminés, les deux fondateurs ont une solide expérience dans l’univers du middleware et des bases de données.


Barry Morris - nimbusDBBarry Morris

CEO et co-fondateur, Barry Morris est riche d’une expérience de plus de 25 ans dans l’industrie informatique aux Etats Unis et en Europe. Il a travaillé chez IONA Technologies, une société irlandaise, conceptrice de la solution Orbix (un middleware largement déployé dans le monde).
Il rejoint ensuite  Streambase Systems et met sur le marché un projet, dirigé par le Dr Michael Stonebaker du MIT, qui fait de Streambase une société leader dans l’univers de l’analyse d’évènements complexes (ou CEP pour Complex Event Processing). Le ‘CEP’ consiste à traiter et analyser  plusieurs centaines de milliers d’évènements par secondes. C’est une science largement utilisés dans l’univers de la finance, du e-commerce et des jeux massivement muti-joueurs.
Barry possède un diplôme d’ingénieur de ‘New College of Oxford University’ et d’un doctorat en administrations des affaires.

Jim StarkeyJim Starkey

Directeur Technique et co-fondateur,  Jim est un guru des bases de données avec plus de 30 ans d’expérience dans le métier. Il rejoint DEC en 1975 et participe à la conception de plusieurs solutions tel que Datatrieve et la première RDB: Rdb/ELN. Il  y sera également architecte logiciel.
Il quitte DEC pour fonder Interbase Software en 1984 et développer des bases de données  relationnelles à l’usage des postes de travail. Après différents rachats, Interbase abouti dans le monde Open Source et devient la base du projet Firebird.
En 2000 il fonde Netfrastructure Inc, une plate forme unifiée de distribution applicative. Elle sera rachetée par Mysql, AB, et servira de fondation au projet Falcon. Il quitte ensuite le projet lors du rachat de Mysql par Sun.
Jim est titulaire d’un diplôme en mathématique de l’université du Wisconsin.

 

L’architecture

Comme tout système scalable, NimbusDB est un système réparti. Cette répartition est d’autant plus importante que l’ensemble est conçu pour fonctionner sur des machines éparpillées sur la planète entière, notamment avec l’utilisation d’un protocole peer to peer. Ainsi, il est en théorie possible de construire une ferme ‘intercontinentale’.
L’architecture s’articule autour de 3 composants logiciels:

  • Les noeuds d’archives: ils stockent les données sur disques,
  • Les noeuds de transactions:  ils traitent les requêtes et travaillent avec des données exclusivement en mémoire. Ils peuvent récupérer des données sur d’autres noeuds de transactions ou sur des noeuds de stockage en utilisant un technologie P2P,
  • Les brockers de connections: sorte de load-balancer, ils font l’intermédiaire entre les applications et les noeuds de transactions pour optimiser et répartir la charge.

Architecture NimbusDB

Une base de données, constituée de d’objets nommés ‘atoms’, repose sur un groupe de noeuds appelé ‘chorus’. Lorsque deux utilisateurs souhaitent modifier un bloc de donnée (atoms) en même temps, un ordonnanceur appelé ‘chairman’ se charge de gérer les priorités. Toutes les écritures, même concurrentes, provoque la création d’une ‘sous version’ (ou snapshot) de la base. Le système se charge ensuite de rétablir la cohérence des données. Cette méthode permet d’optimiser les opérations d’écriture en s’affranchissant du verrouillage.

Coté sécurité les échanges entre les noeuds sont compressés, chiffrés et soumis à authentification.

La scalabilité se gère très facilement par simple ajout ou retrait d’une machine au système en fonction des besoins. Cette propriété est particulièrement adaptée aux applications ou services sujets à des pics de charge. La facturation de l’hébergeur peut se faire au plus prêt de la consommation du client, chose encore difficile avec les architectures traditionnelles. En théorie, il n’y a pas de pré-requis matériel  et le logiciel s’installe sur n’importe quel serveur au point que Barry Morris n’exclut pas son déploiement sur un Ipad (pour rire).

Une autre propriété intéressante concerne les mise à jour logiciel: s’agissant d’un système distribué, une montée de version peut s’avérer compliquer. Pour simplifier la tâche, NimbusDB supporte les mises à jour progressives et les noeuds peuvent être upgradés un par un  sans bloquer le système.

 

Conclusion

NimbusDB est encore en développement. Le prix n’est pas tout à fait fixé mais Barry évoque quelques milliers de dollars par noeuds et par an. Bien sûr le coeur de cible est constitué avant tout par les hébergeurs et fournisseurs Saas.

En ce qui me concerne, j’attends une invitation pour tester le soft proposé en beta test privé (limité à deux noeuds). Les inscriptions sont ouvertes depuis début juin et vous pouvez vous aussi en faire la demande sur le site.

L’actualité de la société est disponible via Facebook, Twitter ou  la newsletter (inscription accessible sur la page d’accueil du site).

Enfin, je vous recommande cette présentation par Barry Morris himself (en anglais, of course):

[youtube]k__k3IVXEhk[/youtube]

 

Merci pour votre lecture et n’hésitez pas à laisser un commentaire si vous le jugez utile.

Suggestions:

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)