Introduction :
L’objectif du projet est la conception d’une interface de tests de la performance de bases de
données distribuées de type « Bigdata ». Cette interface, appelée « BigDataBenchmark »
(BDBenchmark) doit être accessible par tous les utilisateurs enregistrés et leur permettre de
tester leurs bases de données distribuées. L’interface sera mise en œuvre dans un serveur
Web pour être accessible avec le navigateur Web de l’utilisateur. Il s’agit donc d’un portail
Web d’accès à des bases de données distribuées. De plus, le portail Web sera adaptatif aux
tablettes et smartphones.
BDBenchmark permet de s’identifier, de connecter un ensemble de bases de données,
d’effectuer des requêtes multithread sur ces bases, d’enregistrer le résultat de ces requêtes
sous la forme de scénario, d’analyser plusieurs scénarii par croisement et de visualiser le
résultat dans un graphique.
Au LIMOS, le serveur de machines virtuelles « avatar » permet à un utilisateur de se construire
une infrastructure de bases de données distribuées. Après une étude des technologies
existantes, notre choix s’est arrêté sur JAVA (cf : Doc technique) et les outils qui gravitent
autour. BDBenchmark accède à « avatar » en SSH (le port 22 est ouvert sur cette machine) à
l’aide de JSCH. Pour le moment, il n’est possible que de gérer que des bases de données
PostgreSQL car seul le driver JDBC PostgreSQL a été mis en œuvre.
L’infrastructure de bases de données de tests est constituée de 3 machines virtuelles (VM )
toutes accessibles indépendamment. Une de ces VM, appelée « VM-Mediateur », peut être
utilisée comme médiateur car une de ses bases, appelée « lsst_med », contient des liaisons
DBLINK et SQL/MED. Il est possible de reconstruire son propre environnement de tests à l’aide
de documentations d’installation systèmes (cf : docsys), d’installation de bases de données
PostgreSQL (cf : docbases), d’un algorithme de conversion (cf : algo) et du remplissage de
ces bases de données (cf : remplissage). Cette dernière documentation contient également un
récapitulatif des différentes bases de données (SQL, JSON, JSONB) ainsi que l’utilisation
d’indexes, de table lointaines SQL/MED et de vues DBLINK.
Les données correspondent à 4012341 enregistrements d’objets (célestes ?) observables par
le futur télescope LSST. Chaque objet peut être constitué d’environ 250 informations toutes
numériques. Les tests d’analyse reposent sur l’étude de la performance des accès à ces
données, dans l’architecture de bases de données décrite précédemment. Un ensemble de
tests d’analyse a été réalisé au moyen des graphiques générés par BDBenchmark.
Dans cette synthèse de projet, nous présentons un ensemble de tests d’analyse de la
performance basé sur l’infrastructure choisie, et les résultats associés. Finalement, nous
décrirons les perspectives d’évolution de l’interface BDBenchmark.