Facebook distribue son moteur de requête SQL Presto sous licence open source

08/11/2013
logo facebook

On savait Facebook investi dans l'open source et grand consommateur et cela ne sera pas démenti aujourd'hui. En effet, Facebook, réseau social emblématique, a annoncé la distribution sous licence Apache 2.0 de Presto, un moteur de requête SQL conçu pour travailler en PetaBytes.

C'est un nouvel exemple qui montre à quel point l'industrie du logiciel est désormais tirée par ses grands utilisateurs plus que par ses grands éditeurs. Qui, à part les géants du web que sont Facebook, Google ou Twitter, gère des entrepôts de données de plusieurs centaines de Po sur des clusters Hadoop ? Pour le moment, 1 000 employés de Facebook utilisent Presto pour réaliser 30 000 requêtes par jour. 

Aurélien Foucret, Expert Big Data chez Smile, nous décrypte en quelques lignes l'apport de Presto : 

"L'objectif principal de Presto est d’exécuter des requêtes d'analyse de manière interactive sur vos données stockées dans Hadoop dans un dialecte SQL. Comparativement à Hive, Presto est conçu pour maximiser l'interactivité des requêtes, notamment sur les clusters les plus larges (plusieurs dizaines voire centaines de peta-octets). Presto s'appuie sur l'entrepôt de données de Hive et peut donc exécuter des requêtes sur toutes les données de votre cluster dès que celles-ci ont été mappées dans Hive. Techniquement, Presto dispose de sa propre logique d'éxecution, qui, contrairement à Hive, ne repose pas sur MapReduce".

 

Selon Facebook, Presto serait 10 fois plus efficace en terme de CPU et de latence que la combinaison Hive/MapReduce, notamment parce qu'il effectue ses traitements en mémoire et non sur disque. 

En développant en java son propre moteur de requêtes SQL distribuées, Facebook vise des meilleures performances mais aussi des économies d'échelle en espérant mutualiser ses efforts de développement et de maintenance avec d'autres géants du web. Dropbox s'est déjà déclaré intéressé...

Architecture presto

 

Site du projet Presto : http://prestodb.io/
Le code source de Presto est disponible sur GitHub : https://github.com/Facebook/presto
Annonce sur le blog de Facebook https://www.facebook.com/notes/facebook-engineering/presto-interacting-with-petabytes-of-data-at-facebook/10151786197628920

Solutions

comments powered by Disqus
top