Logo Zéphyrnet

Comment Wallapop a amélioré les performances des charges de travail d'analyse avec Amazon Redshift Serverless et le partage de données | Services Web Amazon

Date :

Redshift d'Amazon est un entrepôt de données cloud rapide et entièrement géré qui permet d'analyser de manière simple et rentable toutes vos données à l'échelle du pétaoctet, à l'aide de SQL standard et de vos outils de business intelligence (BI) existants. Aujourd'hui, des dizaines de milliers de clients exécutent des charges de travail critiques sur Amazon Redshift.

Amazon Redshift sans serveur facilite l'exécution et la mise à l'échelle des charges de travail d'analyse sans avoir à gérer une infrastructure d'entrepôt de données.

Redshift Serverless provisionne automatiquement et adapte intelligemment la capacité de l'entrepôt de données pour offrir des performances rapides, même pour les charges de travail les plus exigeantes et imprévisibles, et vous ne payez que pour ce que vous utilisez.

Cette solution est idéale lorsqu'il est difficile de prédire les besoins de calcul, tels que les charges de travail variables, les charges de travail périodiques avec des temps d'inactivité et les charges de travail stables avec des pics. À mesure que votre demande évolue avec de nouvelles charges de travail et davantage d'utilisateurs simultanés, Redshift Serverless provisionne automatiquement les ressources de calcul appropriées et votre entrepôt de données évolue de manière transparente et automatique.

Partage de données Amazon Redshift vous permet de partager en toute sécurité des données en direct et cohérentes sur le plan transactionnel dans un entrepôt de données Redshift avec un autre entrepôt de données Redshift (provisionné ou sans serveur) entre comptes et régions sans avoir besoin de copier, répliquer ou déplacer des données d'un entrepôt de données à un autre.

Le partage de données Amazon Redshift vous permet de faire évoluer vos architectures de déploiement Amazon Redshift vers un modèle hub-and-spoke ou de maillage de données pour mieux respecter les SLA de performances, assurer l'isolation de la charge de travail, effectuer des analyses entre groupes et intégrer de nouveaux cas d'utilisation, le tout sans complexité. du mouvement des données et des copies de données.

Dans cet article, nous montrons comment Wallapop a adopté Redshift Serverless et le partage de données pour moderniser son architecture d'entrepôt de données.

Plateforme d'architecture de données initiale de Wallapop

Wallapop est une société espagnole de commerce électronique axée sur les articles d'occasion, fondée en 2013. Chaque jour, elle reçoit environ 300,000 XNUMX nouveaux articles d'acheteurs à ajouter à son catalogue. Le marché est accessible via une application mobile ou un site Web.

Le trafic mensuel moyen est d'environ 15 millions d'utilisateurs actifs. Depuis sa création en 2013, elle a atteint plus de 40 millions de téléchargements et plus de 700 millions de produits ont été référencés.

Amazon Redshift joue un rôle central dans sa plate-forme de données sur AWS pour les charges de travail d'ingestion, d'ETL (extraction, transformation et chargement), d'apprentissage automatique (ML) et de consommation qui exécutent leur consommation d'informations pour piloter la prise de décision.

L'architecture initiale est composée d'un cluster principal provisionné par Redshift qui gérait toutes les charges de travail, comme illustré dans le diagramme suivant. Leur cluster a été déployé avec 8 nœuds ra3.4xlarge et mise à l'échelle de la simultanéité activée.

Wallapop avait trois domaines principaux à améliorer dans sa plate-forme d'architecture de données initiale :

  • Les défis liés à l'isolation des charges de travail avec des volumes de données croissants et de nouvelles charges de travail exécutées en parallèle
  • Charge administrative pesant sur les équipes d'ingénierie des données pour gérer les charges de travail simultanées, en particulier aux heures de pointe
  • Rapport coût-performance tout en évoluant pendant les périodes de pointe

Les domaines d'amélioration se concentraient principalement sur les performances des charges de travail de consommation de données ainsi que sur l'outil de consommation de BI et d'analyse, où une simultanéité élevée des requêtes avait un impact sur la préparation finale de l'analyse et sa consommation d'informations.

Vue d'ensemble de la solution

Pour améliorer l'architecture de sa plateforme de données, Wallapop a conçu et construit une nouvelle approche distribuée avec Amazon Redshift avec le support d'AWS.

La taille du cluster de l'entrepôt de données provisionné n'a pas changé. Ce qui a changé, c'est de réduire la mise à l'échelle de la simultanéité d'utilisation à 1 heure, ce qui correspond à l'utilisation de l'offre gratuite toutes les 24 heures d'utilisation du cluster principal. Le diagramme suivant illustre l'architecture cible.

Détails de la solution

La nouvelle architecture de plate-forme de données combine Redshift Serverless et des entrepôts de données provisionnés avec le partage de données Amazon Redshift, aidant Wallapop à améliorer son expérience globale Amazon Redshift avec une facilité d'utilisation, des performances et des coûts optimisés améliorés.

Redshift Serverless mesure la capacité de l'entrepôt de données dans les unités de traitement Redshift (RPU). Les RPU sont des ressources utilisées pour gérer les charges de travail. Vous pouvez ajuster le paramètre de capacité de base de 8 RPU à 512 RPU par unités de 8 (8, 16, 24, etc.).

La nouvelle architecture utilise un cluster provisionné par Redshift avec des nœuds RA3 pour exécuter leurs charges de travail constantes et d'écriture (tâches d'ingestion et de transformation de données). Pour des raisons de rentabilité, Wallapop bénéficie également de Instances réservées Redshift pour optimiser les coûts de ces charges de travail connues, prévisibles et constantes. Ce cluster agit comme un cluster producteur dans leur architecture distribuée utilisant le partage de données, ce qui signifie que les données sont ingérées dans la couche de stockage d'Amazon Redshift : Redshift Managed Storage (RMS).

Pour la partie consommation de l'architecture de la plateforme de données, les données sont partagées avec différents points de terminaison Redshift Serverless pour répondre aux besoins des différentes charges de travail de consommation.

Le partage de données permet d'isoler les charges de travail. Avec cette architecture, Wallapop réalise une meilleure isolation des charges de travail et garantit que seules les bonnes données sont partagées avec les différentes applications de consommation. De plus, cette approche évite la duplication des données du côté consommateur, ce qui optimise les coûts et permet de meilleurs processus de gouvernance, car ils n'ont à gérer qu'une seule version des données de l'entrepôt de données au lieu de différentes copies ou versions de celles-ci.

Redshift Serverless est utilisé en tant que partie consommateur de l'architecture de la plate-forme de données pour répondre aux charges de travail d'analyse prévisibles et imprévisibles, instables et souvent exigeantes, telles que leurs tâches CI/CD et les charges de travail de consommation de BI et d'analyse provenant de leur application de visualisation de données. Redshift Serverless les aide également à obtenir une meilleure isolation des charges de travail grâce à sa fonction de mise à l'échelle automatique gérée qui garantit que les performances sont toujours bonnes pour ces charges de travail imprévisibles, même aux heures de pointe. Il offre également une meilleure expérience utilisateur à l'équipe de la plate-forme de données Wallapop, grâce aux capacités autonomes fournies par Redshift Serverless.

La nouvelle solution combinant Redshift Serverless et le partage de données a permis à Wallapop d'obtenir de meilleures performances, coûts et facilité d'utilisation.

Eduard Lopez, responsable de l'ingénierie des données de Wallapop, a partagé l'expérience améliorée des utilisateurs d'analyse : « Nos utilisateurs analystes nous disent que désormais « Looker vole ». La consommation d’insights a ainsi augmenté sans augmenter les coûts.

Évaluation des résultats

Wallapop a lancé cet effort de réarchitecture en testant d'abord l'isolement de sa charge de travail de consommation BI avec le partage de données Amazon Redshift et Redshift Serverless avec le support d'AWS. La charge de travail a été testée à l'aide de différentes configurations RPU de base pour mesurer la capacité et les ressources de base dans Redshift Serverless. Les plages de RPU de base pour Redshift Serverless vont de 8 à 512. Wallapop a testé sa charge de travail BI avec deux configurations : 32 RPU de base et 64 RPU de base, après avoir activé le partage de données à partir de son cluster provisionné par Redshift pour garantir que les points de terminaison sans serveur ont accès aux ensembles de données nécessaires.

Sur la base des résultats mesurés 1 semaine avant le test, le principal domaine d'amélioration concernait les requêtes qui prenaient plus de 10 secondes (52 %), représentées par les zones jaune, orange et rouge du graphique suivant, ainsi que le requêtes de longue durée représentées par la zone rouge (plus de 600 secondes, 9 %).

Le premier test de cette charge de travail avec Redshift Serverless utilisant une configuration RPU de base 64 a immédiatement montré des résultats d'amélioration des performances : les requêtes exécutées pendant plus de 10 secondes ont été réduites de 38 % et les requêtes longues (plus de 120 secondes) ont été presque complètement éliminées.

Javier Carbajo, Wallapop Data Engineer, déclare : « Fournir un service sans temps d'arrêt ni temps de chargement trop longs était l'une de nos principales exigences car nous ne pouvions pas avoir d'analystes ou de parties prenantes sans pouvoir consulter les données. »

Suite au premier ensemble de résultats, Wallapop a également testé avec une configuration Redshift Serverless utilisant 32 RPU de base pour comparer les résultats et sélectionner la configuration qui pourrait leur offrir le meilleur rapport qualité-prix pour cette charge de travail. Avec cette configuration, les résultats étaient similaires à ceux du test précédent exécuté sur Redshift Serverless avec 64 RPU de base (montrant toujours une amélioration significative des performances par rapport aux résultats d'origine). Sur la base des tests, cette configuration a été sélectionnée pour la nouvelle architecture.

Gergely Kajtár, ingénieur de données Wallapop, déclare : « Nous avons remarqué une augmentation significative de la stabilité des flux de travail quotidiens après le passage à la nouvelle architecture Redshift. »

Suite à cette première charge de travail, Wallapop a continué à étendre son architecture distribuée Amazon Redshift avec des charges de travail CI/CD exécutées sur un point de terminaison Redshift Serverless séparé en utilisant le partage de données avec son cluster provisionné par Redshift (RA3).

« Avec la nouvelle architecture Redshift, nous avons remarqué des améliorations remarquables en termes de vitesse et de stabilité. Cela s'est traduit par une multiplication par 2 des requêtes analytiques, non seulement par les analystes et les data scientists, mais également par d'autres rôles tels que le marketing, l'ingénierie, le niveau C, etc. Cela prouve qu'investir dans une architecture évolutive comme Redshift Serverless a une conséquence directe sur l’accélération de l’adoption des données comme moteur de décision dans l’organisation.

– Nicolás Herrero, directeur des données et analyses de Wallapop.

Conclusion

Dans cet article, nous vous avons montré comment cette plate-forme peut aider Wallapop à évoluer à l'avenir en ajoutant de nouveaux consommateurs lorsque de nouveaux besoins ou applications nécessitent d'accéder aux données.

Si vous êtes nouveau sur Amazon Redshift, vous pouvez découvrir des démos, d'autres témoignages de clients et les dernières fonctionnalités sur Redshift d'Amazon. Si vous utilisez déjà Amazon Redshift, contactez l'équipe de votre compte AWS pour obtenir de l'aide et apprenez-en plus sur quoi de neuf avec Amazon Redshift.


À propos des auteurs

Édouard López est le responsable de l'ingénieur de données chez Wallapop. Il est ingénieur logiciel avec plus de 6 ans d'expérience en ingénierie des données, en apprentissage automatique et en science des données.

Daniel Martinez est architecte de solutions chez Iberia Digital Native Businesses (DNB), qui fait partie de l'organisation mondiale des ventes commerciales (WWCS) d'AWS.

Jordi Montoliu est un spécialiste principal de Redshift dans la région EMEA, qui fait partie de l'organisation spécialisée mondiale (WWSO) d'AWS.

Ziad Wali est architecte de solutions Acceleration Lab chez Amazon Web Services. Il possède plus de 10 ans d'expérience dans les bases de données et l'entreposage de données, où il aime créer des solutions fiables, évolutives et efficaces. En dehors du travail, il aime faire du sport et passer du temps dans la nature.

Semir Naffati est un architecte de solutions spécialiste senior Redshift dans la région EMEA, qui fait partie de l'organisation spécialisée mondiale (WWSO) d'AWS.

spot_img

Dernières informations

spot_img