Source http://www.lemagit.fr
Il existe de nombreux moteurs SQL-On-Hadoop qui permettent accéder
aux données stockées dans HDFS avec SQL. Tous ont l’air prometteurs,
tous supportent SQL de façon avancée. Mais lequel est le plus rapide ?
Les performances jouent en effet un rôle clé, surtout lorsque les
utilisateurs métiers s’appuient sur des outils de BI pour accéder aux
Big Data en exploitant ces technologies.
Lequel donc est le plus rapide pour un traitement ad-hoc et
interactif, de type OLAP des données? Jusqu’à présent, peu d’information
était disponible sur ce sujet. AtScale vient rompre ce silence et a
publié les résultats d’un benchmark
qui compare trois des principaux moteurs SQL-In-Hadoop du marché :
Apache Hive, Cloudera Impala et Spark SQL. Si les benchmarks TPC-H et
TPC-DS existent, ils ne prennent pas en compte ce type de traitement.
AtScale est un éditeur américain qui propose une interface SQL pour
les données stockées dans Hadoop. Pour cela, il s’appuie sur ces fameux moteurs SQL-On-Hadoop.
La société a ainsi pu mettre au point un benchmark pour des traitements
basés sur des requêtes ad-hoc interactives. Celui-ci est défini à
partir du Star Schema Benchmark, complété par AtScale avec une
définition des requêtes de type OLAP. Ces requêtes peuvent être classées
selon 3 types (« quick metric queries », « product insigth queries »,
« customer insight queries »), toutes représentant le type de requêtes
présents dans les environnements de BI comme Business Objects, Tableau,
Excel et Qlik.
Les résultats en matière de performances sont intéressants, même
s’ils ont de quoi surprendre. L’un des premiers enseignements par
exemple est qu’aucun des moteurs affiche un niveau de performances
identiques pour chaque type de requêtes. Pour certaines, Hive est le
plus rapide, pour d’autres, il s’agit de Spark SQL ou Impala.
Ce qui complique quelque peu la vie des entreprises. Cela signifie
par exemple que lorsqu’une entreprise souhaite privilégier la rapidité,
elle ne peut le faire d’une façon simple ou n’en sélectionner qu’un. Ce
benchmark en lui-même est intéressant car certains spécialistes ont un
moteur SQL-On-Hadoop préféré et pensent toujours que celui-ci est le
plus rapide. Ce qui n’est donc pas une évidence si l’on considère de
près les résultats de ce test.
Il faut bien comprendre que chacun des trois moteurs cités ont la
capacité d’accéder aux mêmes fichiers HDFS et aux mêmes descriptions de
tables documentées dans la HCatalog. Ce qui signifie au final que les
éditeurs de solutions comme AtScale ou celles générant du code SQL pour ces moteurs SQL-On-Hadoop
(ce que font certains ETL), doivent supporter ces 3 technologies pour
accéder aux données dans HDFS. Ces solutions doivent également être
suffisamment intelligentes pour appliquer l’outil le plus adapté. En
fait, tous les éditeurs d’outils de visualisation de données et de BI
pour Hadoop qui génèrent du code SQL pour ces moteurs doivent au final
connaître les points forts et les faiblesses de ces moteurs.
Il est intéressant de savoir comment cela va évoluer dans les années à
venir. AtScale a permis de se poser les bonnes questions et de conclure
qu’au final, nous ne pouvons pas déterminer de façon précise quel
moteur SQL-On-Hadoop est le plus performant.
Aucun commentaire:
Enregistrer un commentaire