L’objectif de QuasarDB n’est pas de remplacer les bases de données traditionnelles mais plutôt d’être un complément. Capable de répondre à une problématique de masse de données en consommant moins de mémoire et moins de disque, ses caractéristiques principales sont la performance, la souplesse et la scalabilité. Sans oublier la possibilité de mettre des étiquettes sur la donnée. Depuis un an, NOVENCIA est partenaire de l’éditeur QuasarDB. Sébastien Normand, Techlead et formateur ActivePivot chez NOVENCIA, revient sur l’avantage de proposer cette alternative à l’ensemble de ses clients.
Pouvez-vous nous expliquer qu’est-ce que la solution QuasarDB ?
C’est une base de donnée NoSQL de la famille clé/valeur, distribué en pair à pair. Cette solution applicative va permettre de répondre à de nouvelles problématiques de stockage et de restitution de données. Elle ne vient pas concurrencer les bases de données relationnelles mais elle répond à une problématique de masse de données, que l’on veut manipuler sans contrainte, de manière souple. Ses principales caractéristiques sont donc la performance, la scalabilité et la robustesse.
Pour répondre aux besoins de performance elle est développée en C++ afin d’être au plus proche du système sur lequel elle tourne. L’éditeur dispose de versions pour les systèmes d’exploitation suivants Linux, FreBSD, Windows et proposent des drivers dans différents langages afin de s’interfacer avec la solution et l’intégrer dans votre système d’information
La solution est également accompagné d’une application permettant le monitoring des nœuds constituant le cluster.
À quoi sert-elle ?
En termes de fonctionnalité l’éditeur a fait des choix clairs afin de ne pas faire de concessions sur la performance. Par exemple, ce n’est pas un moteur d’agrégation, c’est au système qui utilise QuasarDB de réaliser les agrégations une fois les données récupérées.
Donc QuasarDB stocke et restitue les données :
- de manière performante – temps de réponse très court.
- de manière robuste – multi noeuds, redondance dans le stockage possible afin d’être résilient en cas de perte d’un noeud.
- de manière scalable – en scale out, on peut augmenter le nombre de noeuds et en scale up la solution, multithreadé, bénéficie ainsi d’une montée en puissance des serveurs sur lesquels on la déploie.
Afin d’enrichir le modèle clé/valeur, un système de tag a été ajouté permettant d’étiqueter les données. Puisque avec QuasarDB il n’y a pas d’indexation. Ceci permet de faire une requête et récupérer les valeurs sur des critères plus étendus que la simple clé.
À quel défi répond elle ?
Performance même avec de forts volume, scalabilité, robustesse.
Pouvez-vous nous parler de l’architecture QuasarDB ?
Les points évoqués précédemment (base NoSQL clé valeur, distribué Pair à pair, développé en C++) donne vraiment le coeur de son architecture.
Sous le capot c’est l’algorithme de Chord qui est utilisé pour ce réseau pair à pair, algorithme mis au point au MIT.
QuasarDB a également pris soin de réduire la configuration à son essentiel afin d’éviter une complexité trop importante pour les utilisateurs et ainsi faciliter sa prise en main.
Quels sont les avantages pour une entreprise d’utiliser QuasarDB ?
Techniquement c’est bénéficier d’une solution performante focalisée sur son objectif premier stockage/restitution. Une prise en main rapide et une intégration au sein du système d’information facilité par les drivers à disposition.
En dehors de la solution en elle même cela permet également de travailler avec un éditeur à l’écoute des retours qui peuvent être fait et avec lequel un échange constructif est toujours possible.
Son investissement et l’attention qu’il porte à ses utilisateurs sont une force.
Quels sont les avantages pour NOVENCIA d’avoir un tel partenariat ?
Offrir une alternative technologique différenciante aux solutions sur lesquelles NOVENCIA avance déjà.
L’enjeu est de pouvoir conseiller la solution adéquate pour répondre aux problèmes que l’on nous adresse. Travailler avec une entreprise française dont la R&D est située à Paris permet d’être au contact des développeurs de cette solution, facilite les échanges. De plus leur réactivité et l’importance qu’ils portent à l’utilisation de leur solution en font des partenaires de qualité.
Que permet QuasarDB en terme de modèle de données ?
QuasarDB ne force pas de modèle particulier pour les valeurs stockées. En cela, il ne rend pas la donnée captive de son système et laisse de côté un certain nombre de contraintes qui pourraient avoir un impact sur ses performances.
Quels sont les avantages pour vous de faire tourner QuasarDB sur du cloud Azure ?
Le fait de proposer une image cloud utilisable sur Microsoft Azure ou Amazon AWS permet de très rapidement mettre en œuvre la solution pour découvrir la technologie, la tester, réaliser des benchmarks etc, …
Cela répond également à une demande grandissante de nos clients d’avancer sur des solutions cloud ou hybride (mêlant cloud et leur infrastructure).
Quels sont les langages supportés ?
Les drivers mis à disposition pour implémenter un client qui échange avec un cluster QuasarDB sont
- C
- C++
- dotnet
- java
- nodejs
- php
- python
Au delà de ces langages une API REST est proposée étendant les possibilité d’interaction avec la base QuasarDB.
Ces drivers sont à disposition sur le GitHub de l’entreprise. Également à disposition le projet qdb-vagrant qui permet via un cluster de machine virtuelle de jouer avec la technologie pour la découvrir,
Ceci constitue avec les images cloud (Amazon AWS ou Microsoft Azure) une bonne manière de prendre connaissance avec cette technologie et faire ses premières armes.