Presto (moteur de requĂȘte SQL)
Presto est un projet distribuĂ© sous licence Apache, qui consiste en un moteur de requĂȘte SQL optimisĂ© pour les interactions temps rĂ©el.
Développé par | Facebook dans une moindre mesure Netflix, Airbnb, Groupon |
---|---|
PremiĂšre version | |
Ătat du projet | DĂ©veloppement |
Ăcrit en | Java |
Environnement | Hadoop |
Type | EntrepÎt de données |
Licence | Licence Apache version 2.0 |
Site web | prestodb.io |
Description
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 , 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
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
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. 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
Support ANSI SQL
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
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
- "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.
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « Presto (SQL query engine) » (voir la liste des auteurs).
- Jacques Cheminat, « Facebook rend Open Source son moteur de requĂȘte SQL Presto », Le Monde Informatique, (consultĂ© le )
- Antoine Crochet- Damais, « Big Data : Facebook ouvre les sources de Presto », Journal du net, (consulté le )
- Dominique Filippone, « Teradata supporte Presto, le moteur de requĂȘte SQL de Facebook », le Monde Informatique, (consultĂ© le )
- (en) Doug Henschen, « Airbnb Boosts Presto SQL Query Engine For Hadoop », Information Week, (consulté le )