Accueil les sujets Presto Qu’est-ce que Presto ?
Découvrez IBM watsonx.data
Une main déplaçant des données entre différents emplacements pour symboliser le déplacement des données entre les serveurs, comme c’est le cas lorsque vous utilisez Presto

Presto, ou base de données Presto (PrestoDB), est un moteur de requête SQL open source distribué qui peut interroger de grands ensembles de données provenant de différentes sources, permettant aux entreprises de résoudre les problèmes de données à grande échelle. Il offre aux entreprises de toutes tailles un moyen rapide et efficace d’analyser des données volumineuses provenant de diverses sources, y compris des systèmes sur site et dans le cloud. Presto aide également les entreprises à interroger des pétaoctets de données à l’aide de leurs fonctionnalités SQL actuelles, sans avoir à apprendre un nouveau langage.

Aujourd’hui, Presto est le plus souvent utilisé pour exécuter des requêtes sur Hadoop et d’autres fournisseurs de stockage de données courants, ce qui permet aux utilisateurs de gérer plusieurs langages et interfaces de requête vers les bases de données et le stockage.

À l’ère numérique, l’analyse big data est en passe de devenir une compétence essentielle pour les entreprises de toutes tailles et de tous secteurs. La capacité à collecter, stocker et analyser de grandes quantités de données relatives aux processus métier, aux préférences des clients et aux tendances du marché est extrêmement précieuse. Le principal point fort de Presto est sa capacité à analyser les données quel que soit leur emplacement de stockage et sans avoir à les déplacer dans un système plus structuré, comme un entrepôt de données ou un data lake.

Découvrez le fonctionnement de watsonx.data

Dans cette démonstration interactive, découvrez comment vous lancer avec watsonx.data, vous connecter à vos sources externes, interroger des données de différentes sources et autres opérations.

Contenu connexe

Abonnez-vous à la newsletter IBM

Avantages de Presto

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.

Comment fonctionne Presto ?

Presto utilise un système de gestion de base de données MPP avec un nœud coordinateur qui fonctionne en tandem avec d’autres nœuds. Un écosystème Presto est composé de trois types de serveurs : un serveur coordinateur, un serveur worker et un serveur gestionnaire de ressources.

Coordinateur : un coordinateur est considéré comme le « cerveau » d’une installation Presto. Il est responsable de certaines des tâches les plus critiques, notamment l’analyse des instructions, la planification des requêtes et la gestion des nœuds de calcul Presto. En fin de compte, il est responsable de la récupération des données des nœuds de calcul et de la livraison des résultats au client.

Worker : responsable de la collecte des données des nœuds de calcul et de la fluidité des échanges de données entre lui-même et les connecteurs.

Gestionnaire de ressources : collecte les données de tous les nœuds de coordinateur et de calcul et crée une vue globale, ou un « cluster Presto ».

Lorsque le serveur SQL coordinateur Presto reçoit une requête SQL d’un utilisateur, il commence par utiliser une requête personnalisée pour analyser, construire et programmer un plan distribué sur les autres nœuds. L’API Presto Rest envoie ensuite les instructions de requête pour l’exécution sur un serveur et la récupération des résultats pour le client. Presto prend en charge les expressions ANSI SQL standard, y compris les jointures, les requêtes, les sous-requêtes et les agrégations. Une fois la requête compilée, Presto la répartit en différentes étapes entre les nœuds de calcul.

Comme Presto est construit selon le concept d’abstraction des données, il est extensible à n’importe quelle source de données et peut facilement interroger des sources telles que des data lakes, des entrepôts de données et des bases de données relationnelles. L’abstraction des données est un processus de programmation qui permet de stocker et de manipuler les données plus efficacement en séparant leur représentation de leur stockage physique. Cette abstraction permet au moteur de requête de se concentrer exclusivement sur les aspects des données qui sont pertinents pour sa requête. Grâce au processus d’abstraction des données, celles-ci sont interrogées là où elles sont stockées plutôt qu’après avoir été déplacées dans un autre système d’analyse.

Comment est né Presto

Initialement développé chez Facebook pour exécuter des requêtes interactives sur un grand entrepôt de données Apache Hadoop, les développeurs de Presto l’ont toujours envisagé comme logiciel open source et cherché à le rendre libre d’accès pour permettre à tout le monde de l’utiliser pour l’analyse et la gestion des données. En 2013, il a été proposé en open source sur GitHub pour que chacun puisse le télécharger sous la licence Apache Software. En 2019, trois des membres d’origine de l’équipe de développement Presto ont quitté le projet et fondé un « fork » de Presto, connu sous le nom de Presto Software Foundation, ou plus communément prestosql.

La fondation Linux et d’autres communautés open source proposent des webinaires et des formations sur Presto en anglais et dans d’autres langues pour les ingénieurs et les développeurs qui souhaitent obtenir une certification. Ces forums sont également le bon endroit pour découvrir les nouveautés de Presto.

Cas d’utilisation Presto

Presto permet aux entreprises d’interroger rapidement et efficacement des référentiels de données à grande échelle et des bases de données NoSQL à diverses fins commerciales. Voici quelques-uns de ses cas d’utilisation les plus courants :

Requêtes ad-hoc

Presto permet une exploration rapide des données et un reporting simple à diverses fins commerciales. À l’aide de connecteurs Presto populaires tels que Hive, MongoDB ou Cassandra, les utilisateurs peuvent interroger les données qui les intéressent et obtenir les résultats en quelques secondes. Avec sa vitesse et sa flexibilité, Presto permet aux utilisateurs d’effectuer des itérations et d’explorer en profondeur les ensembles de données, quel que soit leur emplacement.

Voici quelques-uns des référentiels de données les plus largement utilisés auxquels Presto peut se connecter :

  • BigQuery
  • HDFS
  • Stockage dans le cloud
  • Cloud SQL pour MySQL
  • Apache Cassandra ou Kafka
Déploiements cloud et cloud hybride

Selon une évaluation des performances réalisée en 2021 par RedHat, l’utilisation croissante des environnements cloud hybrides par les entreprises exerce une pression accrue sur le stockage cloud natif, pour lequel Presto, « le moteur de requêtes distribué le plus rapide disponible aujourd’hui », est idéal.1 Le transfert des charges de travail d’un environnement sur site vers une infrastructure cloud ou cloud hybride présente de nombreux avantages, notamment des performances et une évolutivité accrues. L’architecture de Presto est une excellente option pour de tels déploiements, car il peut être lancé en quelques minutes sans provisionnement, configuration ni réglage supplémentaire.

Machine learning (ML)

Presto aide les ingénieurs à préparer les données et à effectuer l’ingénierie et l’extraction des fonctionnalités de manière très efficace qui garantit leur opérabilité pour le machine learning (ML). Son nombre de connecteurs, son moteur SQL et ses capacités d’interrogation en font un excellent choix pour les ingénieurs qui recherchent un accès rapide et facile à de grands volumes de données. Presto dispose également d’outils spécialement conçus pour les fonctions ML comme l’agrégation, qui permettent aux data scientists d’entraîner des modèles de classification et de régression sur des machines à vecteur de support (SVM) pour résoudre les problèmes d’apprentissage supervisé.

Production de rapports

Presto permet d’interroger des données provenant de plusieurs sources, générant un rapport ou un tableau de bord unique et facilement accessible à des fins de BI. Grâce à sa simplicité d’utilisation, les analystes peuvent effectuer des requêtes et créer des rapports sans l’aide d’ingénieurs.

Analyses

Presto permet aux analystes d’effectuer des requêtes sur des données structurées et non structurées directement sur un data lake, sans passer par un processus de transformation des données.

Préparation des données

Le processus de collecte et de préparation des données peut être coûteux et inefficace. Les data scientists passent parfois des heures chaque jour à collecter et à préparer des données avant même qu’elles ne puissent être analysées. Presto automatise ce processus avec rapidité et précision afin que les data scientists et les ingénieurs puissent consacrer plus de temps à des tâches à forte valeur ajoutée.

Solutions NVMe
Données et IA IBM watsonx.data

Presto est un outil open source et peut être installé manuellement. Vous pouvez également l’utiliser avec une solution de data lakehouse telle qu’IBM watsonx.data pour une mise à l’échelle plus rapide de vos charges de travail d’IA. IBM watsonx.data est un entrepôt de données adapté à vos besoins, construit sur une architecture lakehouse ouverte et compatible avec les formats de requêtes, de gouvernance et de données ouvertes pour faciliter l’accès et le partage des données.

En savoir plus sur IBM watsonx.data

Ressources connexes Presto : donnez du sens à toutes vos données, quelle que soit leur taille, où que vous soyez

Découvrez comment Presto, un moteur de requête SQL open source rapide et flexible peut vous aider à fournir les informations dont les entreprises ont besoin.

IBM aide les entreprises à faire évoluer les charges de travail d’IA

Apprenez-en davantage sur IBM watsonx.data, un entrepôt de données qui aide les entreprises à unifier et gouverner facilement leurs données structurées et non structurées.

Le potentiel disruptif des architectures de data lakehouse ouvertes et d’IBM watsonx.data

Découvrez l’architecture de data lakehouse ouverte qui combine la flexibilité et les économies de coût des data lakes avec les performances des entrepôts de données.

IBM watsonx.data : entrepôt de données ouvert, hybride et gouverné

Découvrez comment IBM watsonx.data aide les entreprises à relever les défis de l’environnement de données complexe d’aujourd’hui et à faire évoluer l’IA en fonction de leurs besoins.

Passez à l’étape suivante

Obtenez les informations dont vous avez besoin avec Presto, un moteur de requête SQL open source rapide et flexible, et IBM watsonx.data, un entrepôt de données ouvert, hybride et gouverné pour faire évoluer les charges de travail d’IA, pour toutes vos données, où que vous soyez.

Découvrir IBM watsonx.data
Notes de bas de page