Presto (PrestoDB et Trino) est un choix populaire pour les organisations pour exécuter des requêtes analytiques interactives sur plusieurs sources de données à grande échelle. Positionné comme SQL-on-Everything, Presto est conçu pour être un moteur indépendant du stockage qui interroge toutes les sources de données disparates n’importe où.
De nombreuses organisations modernisent constamment leurs plateformes de données et développent des solutions évolutives pour répondre à leurs besoins actuels et futurs. Bien qu’il soit prouvé que Presto possède des capacités de traitement de données massives, il n’est pas optimisé pour gérer l’accès aux données dans le pipeline. Par conséquent, les ingénieurs de plateformes de données doivent encore trouver des solutions supplémentaires pour éliminer la redondance des données, les performances lentes et incohérentes et les coûts élevés.
Pour résoudre ces défis, une architecture innovante combinant Presto et Alluxio est recommandée. Alluxio est une plate-forme d’orchestration de données qui relie les cadres de calcul et les systèmes de stockage sous-jacents. Presto et Alluxio travaillant ensemble permet une architecture d’analyse unifiée, robuste, hautes performances, à faible latence et rentable. Cette architecture profite non seulement à l’analyse, mais également à toutes les étapes du pipeline de données, couvrant l’ingestion, l’analyse et la modélisation. Il permet des requêtes SQL rapides sur plusieurs systèmes de stockage sur site, dans des environnements de cloud public, de cloud hybride et multi-cloud.
De nombreuses entreprises ont utilisé Alluxio pour mettre à niveau leur plate-forme Presto actuelle, notamment Facebook, TikTok, Electronic Arts, Walmart, Tencent, Comcast, etc. Ils ont gagné des avantages significatifs avec Alluxio intégré dans leur pile Presto.
Pourquoi coupler Presto avec Alluxio ?
Alluxio contribue à moderniser la plate-forme de données en tant que lac de données cloud hybride
De plus en plus d’organisations envisagent de déplacer leurs plateformes de données vers le cloud pour plus d’élasticité et d’analyse à grande échelle. Mais la migration vers le cloud n’est pas un voyage facile. Dans un premier temps, les organisations peuvent migrer les charges de travail d’analyse, par exemple, Presto, vers le cloud pour tirer parti des ressources de calcul à la demande. Dans ce cas, la plate-forme de données est hybride avec Presto dans le cloud et les données stockées sur site.
Traditionnellement, un cloud hybride n’est pas considéré comme une architecture appropriée pour les requêtes interactives sensibles à la latence, car la récupération de données distantes via le réseau souffre de performances lentes et incohérentes et d’échecs de requête lorsqu’il expire. De plus, le déploiement multi-cloud pose des problèmes similaires, car les clusters de calcul et de stockage résident dans des emplacements géographiquement disparates. Ce sont d’énormes obstacles lorsque l’on essaie de mettre en production la plate-forme de données cloud.
Pour commencer la transition vers le cloud, de nombreuses entreprises choisissent la solution Lift and Shift, ce qui signifie copier leurs données dans un environnement cloud et conserver ces données en double. Cependant, la gestion manuelle des copies de données est lente et complexe. De plus, certaines organisations peuvent être confrontées à des réglementations interdisant les copies persistantes dans le cloud, les empêchant d’utiliser l’approche Lift and Shift.
Alluxio permet des requêtes interactives hybrides et multi-cloud en utilisant une solution différente. Alluxio fait abstraction de la couche de stockage et fournit à Presto un accès rapide aux données sur site, dans le cloud et aux centres de données multiples, ainsi que des politiques pour gérer le mouvement des données entre les environnements :
- Une rafale « zéro copie » pour relever les défis de la migration vers le cloud. La rafale « zéro copie » d’Alluxio permet à Presto dans le cloud d’accéder aux données sur site sans d’abord copier les données dans le cloud, ce qui permet de migrer en toute transparence les charges de travail sans modifier l’expérience de l’utilisateur final.
- Cache intelligent à plusieurs niveaux pour surmonter la latence du réseau. Alluxio sert de couche intelligente à plusieurs niveaux pour la mise en cache Presto et apporte les données localement à Presto. Alluxio utilise automatiquement des supports de stockage proches du calcul pour un accès optimal aux données afin de minimiser le trafic réseau et d’obtenir des performances élevées et cohérentes dans des environnements hybrides ou multi-cloud.
- Contrôle des données pour la réglementation et la conformité. Alluxio offre un contrôle strict sur l’ensemble du cycle de vie des données dans le cloud public. Presto n’interagit qu’avec Alluxio, qui ne stocke les données que temporairement. Même si les données sont déplacées vers un cloud public, vous pouvez utiliser des stratégies ou des configurations dans Alluxio pour contrôler la durée de vie des données dans le cloud public avant d’être effacées.
Alluxio permet un accès unifié aux données sur plusieurs sources de données
Étant donné que Presto est indépendant du stockage, la flexibilité de se connecter à plusieurs sources de données est une exigence essentielle pour la plate-forme de données prenant en charge les requêtes Presto. Sinon, vous finirez par créer et gérer des copies de toutes les sources de données, ce qui est complexe, long et sujet aux erreurs.
Alluxio peut aider à simplifier l’architecture en unifiant l’accès aux données à des sources de données multiples et variées. Lorsqu’il est associé à Alluxio, Presto obtient un accès fédéré directement depuis Alluxio avec une vue unique de toutes les données. Cela apporte plusieurs avantages :
- Simplifiez la gestion des données grâce à un espace de noms global. Alluxio fournit une vue unifiée des données à l’aide d’un espace de noms global, ce qui simplifie grandement la gestion des données et élimine la duplication des données. Au lieu de vous connecter individuellement à chaque source de données, il vous suffit de vous connecter à Alluxio, et Alluxio fournira à Presto les seules données pertinentes requises.
- Dissocie complètement les systèmes de calcul et de stockage. Idéalement, Presto accéderait aux données indépendamment de la façon dont les données ont été initialement stockées ou gérées. C’est pourquoi Alluxio est un bon match. Alluxio peut apporter les données localement à Presto à la demande, ce qui rend l’accès aux données sur l’architecture découplée plus un problème.
- Aucun impact côté application. Parce que Alluxio fait abstraction de la couche de stockage, les applications s’exécutant sur la plate-forme de données existante, comme Presto, peuvent accéder aux données sans avoir besoin de comprendre où se trouvent les données et comment y accéder. De plus, lors de la modification du côté stockage, Alluxio fournit un accès transparent sans changer l’application afin qu’il soit plus facile et plus rapide d’adopter les innovations.
Alluxio accélère l’ensemble du pipeline de données avec une solution unique de mise en cache pour tous
L’analyse des données n’est jamais assez rapide, en particulier pour les tableaux de bord et les requêtes interactives ou toute application orientée données utilisateur. De telles charges de travail sont généralement lourdes en lecture, à faible latence et à haut débit, et leurs performances sont entravées par un accès lent au stockage sous-jacent.
La mise en cache est une solution typique pour améliorer les performances des requêtes par la localité des données et le partage des données. Presto fournit un cache intégré (appelé cache natif ou cache local) qui profite aux lectures. Cependant, il ne prend pas en charge les écritures en cache et ne peut pas être partagé entre différents clusters Presto. L’utilisation de la mise en cache intégrée Presto entraînerait une duplication du stockage pour s’adapter à plusieurs modèles de mise en cache, une augmentation des coûts de stockage, une maintenance complexe et une concurrence entre les ressources.
Alluxio fournit une solution de mise en cache différenciée, qui est une mise en cache unique pour tous, apportant des avantages significatifs au-delà de toute mise en cache intégrée fournie par Presto :
- Activez le partage de données sur l’ensemble du pipeline de données. Les pipelines de traitement de données comprennent une série d’étapes de traitement, produites en effectuant ETL avec Spark, puis en exécutant une requête SQL à l’aide de Presto, puis en exécutant un algorithme d’apprentissage automatique sur le résultat de la requête. La plate-forme d’orchestration des données d’Alluxio couvre le pipeline de données, de l’ingestion de données à l’ETL en passant par l’analyse et le ML. Alluxio permet le partage de données et enregistre les résultats intermédiaires pour qu’un moteur de calcul consomme la sortie d’un autre. La possibilité de partager des données entre les applications a conduit à des gains de performances encore plus importants et à moins de mouvements de données.
- Améliorez les performances de tous les moteurs de calcul. Étant donné qu’Alluxio s’étend sur l’ensemble du pipeline de données, il permet à n’importe quel cadre de calcul de tirer parti des données précédemment mises en cache, améliorant encore la vitesse de lecture et d’écriture de la charge de travail. Les données mises en cache peuvent rester dans Alluxio pour la prochaine étape du pipeline, ce qui entraîne des gains de performances significatifs.
- Plateforme de mise en cache unifiée, économique et facile à gérer. L’utilisation de la mise en cache intégrée fournie par différents moteurs de calcul implique la gestion de plusieurs modèles de mise en cache, ce qui est complexe. Alluxio, en tant que plate-forme de mise en cache unifiée pour tous les types de moteurs de calcul, gère tout le stockage de mise en cache pour l’ensemble de l’entreprise, réduisant ainsi le calcul et le stockage nécessaires. De plus, le cache Alluxio peut être utilisé sur tous les moteurs sans aucune modification des moteurs eux-mêmes, ce qui facilite le déploiement et la gestion.
- Le cluster Alluxio déployé indépendamment permet à Presto de se réduire sans perdre les données mises en cache. Lorsque vous utilisez la mise en cache intégrée Presto, vous perdrez les données mises en cache si vous souhaitez réduire le cluster Presto, et la perte de données en cache entraîne généralement de graves problèmes de performances. Au lieu de co-localiser Presto et Alluxio, vous avez la possibilité d’avoir un cluster Alluxio distinct pour fonctionner indépendamment de la capacité de calcul de Presto, permettant à Presto de réduire tout en conservant les données mises en cache.
Avec la solution de mise en cache Alluxio, Presto peut obtenir des requêtes plus rapides, une latence plus faible et des SLA cohérents. Au-delà de l’accélération de Presto, l’ensemble du pipeline de données obtient de meilleures performances de bout en bout. De meilleures performances conduisent à un débit de données plus élevé et à une meilleure utilisation des ressources sans acheter de ressources inutiles. Les plates-formes de données peuvent évoluer selon les besoins, réduisant ainsi les coûts de mise à l’échelle de l’infrastructure avec un coût total de possession inférieur.
Cas d’utilisation courants par modèles de déploiement et études de cas
Voici trois cas d’utilisation courants pour utiliser Presto avec Alluxio par différents modèles de déploiement, chacun suivi d’une histoire d’utilisateur réelle. Vous pourrez lier cela à votre architecture et commencer à ajouter Alluxio à votre plateforme de données.
Analyse cloud unique : SQL rapide sur n’importe quel stockage cloud / Arts électroniques
Le premier cas d’utilisation est un modèle de déploiement cloud unique. Presto et Alluxio sont déployés dans un environnement cloud tel qu’AWS ou Google Cloud. Dans ce scénario, Alluxio se situe entre Presto et le stockage cloud en tant que couche de mise en cache pour accélérer les performances des requêtes. Presto + Alluxio dans le cloud garantit de meilleurs SLA que l’accès direct aux données depuis le stockage cloud lui-même. Vous économisez également le coût d’accès au stockage en nuage en raison de la quantité réduite d’accès aux données. Alluxio gère non seulement la mise en cache, mais gère également les métadonnées correspondantes pour éviter des opérations de métadonnées particulièrement inefficaces et des coûts de service de métadonnées coûteux.
(La source)
Electronic Arts, une entreprise leader dans l’industrie du jeu, a adopté la plate-forme innovante avec Presto comme moteur informatique et Alluxio comme couche d’orchestration des données entre Presto et le stockage S3 pour prendre en charge la visualisation des données en temps réel, la création de tableaux de bord et l’analyse conversationnelle. Avec Alluxio, ils ont obtenu un gain de performances jusqu’à 5,9 fois avec la mise en cache des métadonnées lors de la gestion d’un grand nombre de petits fichiers et des coûts d’infrastructure et S3 réduits. Consultez l’étude de cas ici.
Hybrid Cloud Analytics : Simplifiez le parcours vers le Cloud / Walmart

Le deuxième cas d’utilisation consiste à tirer parti des ressources de calcul flexibles sur le cloud public afin que vous puissiez déployer Presto dans le cloud à la demande et laisser vos données sur site. Avec une rafale « zéro copie », Alluxio met en cache les données à la demande en fonction des modèles d’accès aux données, plutôt que de déplacer manuellement les données vers le cloud et de les supprimer ultérieurement. En intégrant des magasins de données sur site avec Alluxio + Presto, les données sont intelligemment rapprochées de Presto à la demande. Vous obtiendrez des performances élevées dans l’environnement de cloud hybride avec des E/S déchargées, ce qui est…