FoundationDB allie NoSQL et SQL dans une base en cluster
FoundationDB a conçu une base de donnée distribuée et ACID capable de fonctionner aussi bien en mode key/value store (NoSQL) qu'en mode SQL.
À l’occasion d’un tour de start-ups au mois de juin, Le MagIT a eu l’occasion de rencontrer Dave Rosenthal, le fondateur et CEO de Foundation DB, un éditeur de base de données fondé en 2009 par des anciens de Visual Science, une société acquise par Omniture (elle-même rachetée par Adobe).
NoSQL et SQL dans une base de données distribuée
FoundationDB, dont la première version est sortie en août 2013 est une base de données NoSQL distribuée qui a la particularité de supporter des transactions en mode ACID, ce qui permet à tout moment de garantir la consistance des données. Comme l’explique Dave Rosenthal l’un des objectifs de la firme depuis son lancement était aussi de fournir une couche SQL au-dessus du moteur de key/value store. Afin d’accélérer ce développement, FoundationDB a fait l’acquisition à l’été 2013 de la société Akiban Technologies et de son moteur SQL Akiban server. Ce moteur a été intégré par la société comme une couche de traitement SQL distribuée au-dessus du moteur de stockage de Foundation DB. Afin de tirer parti des capacités distribuées de FoundationDB, Akiban Server a été parallélisé de façon à permettre l’exécution parallèle des requêtes. Le résultat est une base de données capable d’afficher de multiples personnalités. La base peut ainsi fonctionner en mode key/value Store, en mode SQL ou en mode document.
Depuis FoundationDB a levé 17 M$ auprès de Sutter Hill Ventures, l’un des grands venture capitalist de la Silicon Valley et a publié la version 2.0 de sa base de données ainsi qu’une version bêta de sa couche SQL.
Une gestion native de la consistance de données
Comme l’explique, Dave Rosenthal, l’un des grands avantages de Foundation DB est qu’en mode NoSQL, la base gère la consistance des transactions, tout en présentant tous les attributs d’un key/value Store. Selon lui, « le problème des bases NoSQL traditionnelles est que les développeurs doivent passer un temps considérable à coder des mécanismes pour contourner les limitations des bases NoSQL en matière de consistance de données ». Un problème que résout nativement FoundationDB.
L’autre avantage de la base est qu’elle peut indifféremment fonctionner en mode SQL et NoSQL et ce, à un coût très inférieur à celui des bases de données traditionnelles comme Oracle ou SQL Server. Le tout avec des performances élevées. Un cluster de 24 serveurs Xeon E3 1200 équipés de SSD et coûtant moins de 50 000$ a ainsi permis à la base de délivrer près de 900 000 opérations de bases de données par seconde (90% d’opérations en lecture et 10% en écriture en mode NoSQL).
Selon Rosenthal, l’architecture de FoundationDB ouvre aussi la porte à la création de couches de compatibilité additionnelles au-dessus du moteur de la base du fait de l’API mise à disposition des développeurs.
Un mode de facturation original
La facturation de Foundation DB s’effectue par processus (un processus est physiquement assigné à un cœur CPU et il est possible de souscrire autant de processus que l'on souhaite par serveur, avec bien sûr un maximum égal au nombre de coeurs disponibles par serveur). La société propose une édition gratuite pouvant gérer jusqu’à 6 processus en production (l’usage en test et développement est également gratuit). En production, les tarifs vont ensuite de 99$ à 199$ par processus et par mois, selon le niveau de support souhaité.