2.3
Problématique
L'implémentation "distribuée" du SQL conduit
à adopter de nouveaux réflexes, très
éloignés de ceux pris durant des années avec les SGBDR. Il
devient alors nécessaire de s'interroger sur les leviers permettant
d'optimiser les temps d'exécution des requêtes SQL dans un
environnement Big Data.
L'objectif de ce mémoire est double : il s'agit
premièrement de se construire une connaissance fine de l'environnement
Big Data le plus répandu, c'est-à-dire Hadoop, qui est aussi
celui sur lequel tout le Big Data d'Orange repose ; deuxièmement,
c'est une technologie en plein essor et en rupture par rapport aux autres
technologies plus conventionnelles, et les pratiques qu'elle implique
nécessitent d'être étudiées spécifiquement
afin d'optimiser son fonctionnement.
Par ailleurs, la documentation existante traduit du
développement rapide de l'écosystème Hadoop. Nous pouvons
ainsi trouver de très nombreux articles témoignant des
différentes phases de son évolution, mais peu s'attardentsur son
fonctionnement réel. Il paraît donc intéressant et non
superflu de faire un état de l'art structuré et à jour de
cet écosystème.
Dans ce mémoire, nous reviendrons tout d'abord sur ce
qu'est Hadoop, ce qui le compose et la manière dont il fonctionne.
Nous détaillerons ensuite comment le langage SQL est
implémenté sous Hadoop par une application nommée Hive. Ce
qui nous permettra de mettre en lumière les principales faiblesses du
paradigme distribué.
Puis, nous proposerons un ensemble de bonnes pratiques, aussi
bien dans la configuration préalable à l'exécution d'une
requête SQL que dans la conception des tables et le développement
des requêtes.
Finalement, nous achèverons ce mémoire en
prenant du recul sur la maturité de Hadoop et son évolution
constante.Nous nous interrogerons aussi sur la pertinence des optimisations que
nous proposons devant la multitude des possibilités offertes. Enfin, se
posera la question de l'avenir de Hadoop dans sa formule actuelle et de son
évolution prévisible dans les années à venir.
|