Document de préparation
Big data avec PostgreSQL
18/06/2015
Auteurs : Bastien Doreau (LIMOS/CNRS), Emmanuel Delage(LIMOS/CNRS),
Relu par : Benoît Eymard (Limagrain)
PLAN
I) Introduction
II) Interface de benchmark
III) Configuration de test
IV) Cahier des charges
V) Perspectives
I) Introduction
Les SGBDR (Systèmes de Gestion de Bases de Données Relationnelles) traditionnels ne permettent
pas de gérer le phénomène du Big data. Les SGBD de type NoSQL sont une solution pour manipuler
ce type de données.
Nous proposons de réaliser une étude de performances de bases de données PostgreSQL fédérées
pour des données NoSQL au moyen d’une interface de gestion de scenarii pour la soumission de
requêtes.
PostgreSQL est actuellement au quatrième rang des bases de données les plus utilisés tous modèles
confondus (http://db-engines.com/en/ranking). Parmi les modèles NoSQL actuels
(http://blog.datagraph.org/2010/04/rdf-nosql-diff) PostgreSQL inclut le modèle clé-valeur (avec
hstore) et le modèle document (avec JSON et JSONB).
Nous souhaitons étudier les performances PostgreSQL sur un jeu de données comparable à celui
mise en œuvre par Limagrain avec MongoDB (BSON), dans le but d’initier d’éventuelles
collaborations de recherche. Cependant la génération de données type Limagrain n’est pas réalisable
en deux mois. C’est pourquoi nous utiliserons une base de données SQL d’analyse pour LSST, le futur
télescope implanté au Chili (http://www.lsst.org/lsst/). Cette base sera convertie au format JSON et
JSONB.
Une étude comparative entre MongoDB et PostgreSQL a été réalisée par EntrepriseDB mais sur un
seul serveur : http://fr.enterprisedb.com/postgres-plus-edb-blog/marc-linster/postgres-
outperforms-mongodb-and-ushers-new-developer-reality. Nous étudierons les performances de
PostgreSQL pour des bases de données de documents en mode fédéré (distribué sur un réseau local
avec une machine médiateur).
Nous orientons donc notre étude sur des requêtes massive en insertion et en lecture en JSONB
disponible depuis la version 9.4 de PostgreSQL (actuellement la dernière version). En ce qui concerne
les connexions distantes sur Ethernet entre la base de données « médiateur » et les bases de
données contenant les données, nous utiliserons SQL/MED et DBLINK.
Dans un premier temps nous testerons la lecture d’une requête contenant des documents JSON avec
SQL/MED. L’interface de gestion de scenarii doit être conçue de manière simple et adaptable.
[Autres études similaires en cours au LIMOS…]
II) Interface de benchmark
L’interface doit répondre aux critères suivants :
Connexion avec PostgreSQL
Connexion SSH
Portail WEB
Adaptatif aux tablettes et smartphones (optionnel)
Multiplateforme
Utilisation de technologies pérenne
L’interface web doit être simple, sûre et adaptable.
Après lecture du lien http://blog.jhades.org/the-java-origins-of-angular-js-angular-vs-jsf-vs-gwt/ et au
vu des compétences techniques et humaines dont nous disposons, nous retenons une solution basé
sur JSF.
Spécifications :
JSF >=2.2 (inclut jQuery) Java Server Faces est un framework JAVA pour le web orienté composant
Genre
Technologie retenue
Description
Langage
Java
WildFly
serveur d'applications Java EE
Libre
Environnement de
Développement Intégré (EDI)
Netbeans
JPA ?
Management de projet
Maven
Optionnel
Responsive web
Bootstrap
Optionnel | Boostrap peut être
utilisé dans un composant JSF
Tunnel SSH
JSch
Note : L’API PrimeFaces est « responsive » mais limité aux grilles.
http://blog.primefaces.org/?p=3248
Note : Netbeans (oracle, installé par default sur les postes au limos).
Il est possible d’importer un projet d’Eclipse
http://docs.oracle.com/cd/E50453_01/doc.80/e50452/create_japps.htm#NBDAG445
Maquette de l’interface graphique :
Connexion au médiateur, IP médiateur, nom de la base,
nom d’utilisateur, mot de passe, information sur la
configuration du serveur
Préparation des jeux de données, ensemble 1, ensemble
2…
Choix des données
Parametrage (FETCH, SDU, …)
CRUD, description du scenario insert massif, (update, )
select avec les données choisis et le nombre de répétitions
Affichage des resultats, logs et visualisation, sauvegarde des
résultats
Gestion des
scenarii,
Création ,
suppression,
sélection et
chargement
/data/data1
/data/data2 …
/scenarii/scenario1/resultat_001
/scenarii/scenario1/resultat_002
/scenarii/scenario1/resultat_003
/scenarii/scenario2…
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !