Presto est devenu un outil populaire pour les data scientists et les ingénieurs des données confrontés à de multiples langages d’interrogation, des bases de données cloisonnées et différents types de stockage. Ses capacités haute performance permettent aux utilisateurs d’interroger de grands volumes de données en temps réel, quel que soit leur emplacement, à l’aide d’une simple interface ANSI SQL. Presto se distingue par sa vitesse et ses performances dans l’exécution de requêtes sur de grands volumes de données, un outil désormais indispensable pour certaines des plus grandes entreprises au monde, notamment Facebook, Airbnb, Netflix, Microsoft, Apple (iOS) et AWS (Athena et Amazon s3).
Presto est unique par son architecture conçue pour interroger les données quel que soit leur emplacement de stockage, ce qui la rend plus évolutive et plus efficace que les autres solutions similaires. Les requêtes Presto permettent aux ingénieurs d’utiliser les données sans avoir à les déplacer physiquement d’un emplacement à l’autre. Cette capacité est particulièrement précieuse pour les entreprises qui font face à une quantité toujours croissante de données qu’elles doivent stocker et analyser.
Presto a été conçu pour permettre aux data scientists et aux ingénieurs d’interroger de grandes quantités de données de manière interactive, quelle que soit la source ou le type de stockage. Comme Presto ne stocke pas de données, mais communique avec une base de données distincte pour ses requêtes, il est plus flexible que ses concurrents et peut adapter rapidement sa capacité de requêtes en fonction des besoins changeants de l’entreprise. Selon un livre blanc d’IBM, Presto, optimisé pour les charges de travail de Business Intelligence (BI), aide les entreprises à optimiser la tarification de leurs entrepôts de données et à réduire les coûts de moitié.
Voici quelques-uns des principaux avantages de l’utilisation d’un workflow Presto :
Réduction des coûts : à mesure que la taille des entrepôts de données et le nombre d’utilisateurs effectuant des requêtes augmentent, il n’est pas rare pour les entreprises de voir leurs coûts monter en flèche. Optimisé pour de grandes quantités de petites requêtes, Presto permet toutefois d’interroger facilement n’importe quelle quantité de données pour un coût réduit. De plus, comme Presto est open source, il n’y a pas de frais associés au déploiement, une source d’économies importante pour les entreprises qui souhaitent traiter de grands volumes de données.
Évolutivité accrue : la mise en place de plusieurs moteurs et langages sur un seul système de stockage de data lake est une pratique courante chez les ingénieurs, avec le risque plus tard de devoir repenser la plateforme et limiter l’évolutivité de la solution. Avec Presto, toutes les requêtes sont effectuées à l’aide du langage et de l’interface universels ANSI SQL, ce qui rend inutile la refonte de la plateforme. En outre, Presto traite aussi bien de petites quantités de données que de gros volumes et permet de passer aisément d’un ou deux utilisateurs à des milliers. Grâce au déploiement de plusieurs moteurs de calcul avec des API et dialectes SQL uniques, il est l’outil idéal des ingénieurs et data scientists pour mettre à l’échelle les charges de travail les plus complexes et chronophages.
Performances améliorées : de nombreux moteurs de requête qui exécutent SQL sur Hadoop sont limités en performance de calcul, car ils sont conçus pour écrire les résultats sur disque. Le modèle en mémoire distribué de Presto, au contraire, permet d’exécuter en une seule fois de grandes quantités de requêtes interactives sur de grands ensembles données. Suivant une conception classique de traitement massivement parallèle (MPP), Presto planifie autant de requêtes que possible sur un seul nœud de calcul et utilise la lecture aléatoire de flux de données en mémoire pour augmenter encore plus ses vitesses de traitement. L’exécution de tâches en mémoire rend les opérations de lecture et d’écriture à partir du disque redondantes entre les étapes et réduit le temps d’exécution de chaque requête, ce qui permet à Presto d’offrir une latence inférieure à celle de ses concurrents.
Flexibilité améliorée : Presto utilise un modèle prêt à l’emploi pour toutes ses sources de données, notamment Cassandra, Kafka, MySQL, le système de fichiers distribué Hadoop (HDFS), PostgreSQL et autres, ce qui facilite et accélère l’exécution des requêtes par rapport à d’autres outils comparables dépourvus de cette fonctionnalité. De plus, grâce à son architecture flexible, Presto n’est pas limité à un seul fournisseur et fonctionne sur la plupart des distributions Hadoop, ce qui en fait l’un des outils les plus portables disponibles actuellement.
Si Presto n’est pas la seule solution SQL sur Hadoop disponible pour les développeurs et les ingénieurs de données, il est l’une des plus flexibles par son architecture unique qui sépare les fonctionnalités de requête du stockage de données. Contrairement à d’autres outils, Presto sépare le moteur de requête du stockage de données et utilise des connecteurs pour communiquer entre eux. Cette fonctionnalité supplémentaire offre aux ingénieurs plus de latitude que les autres outils dans la façon dont ils développent des solutions avec Presto.