Presto (moteur de requête SQL)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ou cette section ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires (janvier 2016).

Pour améliorer la vérifiabilité de l'article, merci de citer les sources primaires à travers l'analyse qu'en ont faite des sources secondaires indiquées par des notes de bas de page (modifier l'article).

Page d'aide sur l'homonymie Pour les articles homonymes, voir Presto.
Presto
Développeur Facebook dans une moindre mesure Netflix, Airbnb, Groupon
Première version 2012
État du projet Développement
Environnement Hadoop
Licence Apache-2.0 (d)Voir et modifier les données sur Wikidata
Site web prestodb.ioVoir et modifier les données sur Wikidata

Presto est un projet distribué sous licence Apache, qui consiste en un moteur de requête SQL optimisé pour les interactions temps réel.

Description[modifier | modifier le code]

Presto, 100 % open source, est un moteur distribué de requête SQL ANSI pour l'exécution des requêtes interactives analytiques sur des sources de données de toutes tailles allant de gigaoctets à pétaoctets. Presto a été conçu dès le départ pour l'analytique interactive permettant une évolution de la taille des organisations telles que Facebook.

Facebook a commencé l'effort de développement sur Presto en 2012, et a été rejoint plus tard par d'autres utilisateurs Presto importants, comme Netflix, Airbnb et Groupon. En juin 2015, le leader du data-warehousing Teradata rejoint la communauté Presto et propose une feuille de route pour des fonctionnalités 100% open source. Teradata offre un support entreprise pour les utilisateurs de Presto[1],[2],[3].

Principaux utilisateurs[modifier | modifier le code]

Facebook utilise Presto pour des requêtes interactives sur plusieurs datastores internes, avec leur entrepôt Hadoop de 300 Pb.

Netflix gère un entrepôt de données de 25 Pb sur Amazon S3 et utilise Presto pour ses cas d'utilisation interactifs ad hoc

AirBnb est un contributeur important à la communauté Presto et l'utilise comme moteur de requête par défaut sur un datastore de 1.5 Pb. Airpal, l'outil d’exécution de requête (web) d'AirBnB, s'appuie sur Presto pour l'analyse des données et a été utilisé par plus d'un tiers de ses employés[4].

Architecture[modifier | modifier le code]

Presto Architecture.

L'architecture de Presto est très similaire aux architectures classiques MPP DBMS. Il peut être visualisé comme un nœud de coordonnateur de travail en synchronisation avec plusieurs nœuds de travail.

Les clients envoient des requêtes SQL qui sont parsées et planifiées en parallélisant les tâches et en ordonnançant les workers[pas clair]. Les Workers joignent les lignes de différentes sources de données afin de retourner un résultat homogène.

L’exécution de requête sur presto est très rapide en raison de la transformation en mémoire. Les données intermédiaires sont reliées par pipeline à travers les nœuds dans le mode MPP.

Fonctionnalités[modifier | modifier le code]

Support ANSI SQL[modifier | modifier le code]

Presto offre un vaste support de SQL ANSI, y compris:

  • Types de données SQL standard en plus de JSON, ARRAY, MAP et ROW
  • Fonctions de fenêtrage
  • Fonctions statistiques
  • UNNEST et TABLESAMPLE

Capacités d'interface[modifier | modifier le code]

La langue de cette portion d’article est : en Presto's query federation capabilities  ⇔ 

Presto permet le requêtage de données là où elles sont, y compris sur HDFS, sur Cassandra, sur des bases relationnelles et quelques data-stores propriétaires.

Une requête Presto unique peut combiner des données provenant de sources multiples, permettant l'analyse à travers l'écosystème de l'entreprise. Presto s'adresse aux analystes qui s'attendent à un temps de réponse allant de la seconde à quelques minutes.

Presto offre actuellement des connecteurs vers de nombreuses sources de données, comme Hadoop HDFS, MySQL, Kafka, Cassandra, PostgreSQL et Redis. Beaucoup d'autres connecteurs peuvent être trouvés sur github. Les connecteurs permettent des jointures à travers les données de différentes sources, par exemple MySQL et HDFS. Les connecteurs supplémentaires aux sources de données continueront à être édité au fil du temps par des contributeurs majeurs de Presto, y compris Teradata.

Références[modifier | modifier le code]

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Des informations de cet article ou section devraient être mieux reliées aux sources mentionnées dans la bibliographie, sources ou liens externes (indiquez la date de pose grâce au paramètre date).

Améliorez sa vérifiabilité en les associant par des références à l'aide d'appels de notes.

  • "Presto |Distributed SQL Query Engine for Big Data." Presto | Distributed SQL Query Engine for Big Data. Facebook. Web. 6 Oct. 2015.
  • "Presto." SQL Engine for Hadoop & More. Teradata. Web. 6 Oct. 2015.
  1. Jacques Cheminat, « Facebook rend Open Source son moteur de requête SQL Presto », Le Monde Informatique,‎ (consulté le 30 janvier 2016)
  2. Antoine Crochet- Damais, « Big Data : Facebook ouvre les sources de Presto », Journal du net,‎ (consulté le 30 janvier 2016)
  3. Dominique Filippone, « Teradata supporte Presto, le moteur de requête SQL de Facebook », le Monde Informatique,‎ (consulté le 30 janvier 2016)
  4. (en) Doug Henschen, « Airbnb Boosts Presto SQL Query Engine For Hadoop », Information Week,‎ (consulté le 30 janvier 2016)

Liens externes[modifier | modifier le code]