Logo Zephyrnet

In che modo Wallapop ha migliorato le prestazioni dei carichi di lavoro di analisi con Amazon Redshift Serverless e la condivisione dei dati | Servizi Web di Amazon

Data:

Amazon RedShift è un data warehouse sul cloud veloce e completamente gestito che rende semplice ed economica l'analisi di tutti i dati su scala di petabyte, utilizzando SQL standard e gli strumenti di business intelligence (BI) esistenti. Oggi, decine di migliaia di clienti eseguono carichi di lavoro business-critical su Amazon Redshift.

Amazon Redshift senza server semplifica l'esecuzione e la scalabilità dei carichi di lavoro di analisi senza dover gestire alcuna infrastruttura di data warehouse.

Redshift Serverless effettua automaticamente il provisioning e scala in modo intelligente la capacità del data warehouse per offrire prestazioni rapide anche per i carichi di lavoro più impegnativi e imprevedibili, e paghi solo per ciò che utilizzi.

Questo è l'ideale quando è difficile prevedere le esigenze di elaborazione come carichi di lavoro variabili, carichi di lavoro periodici con tempi di inattività e carichi di lavoro stazionari con picchi. Man mano che la tua domanda si evolve con nuovi carichi di lavoro e più utenti simultanei, Redshift Serverless effettua automaticamente il provisioning delle giuste risorse di elaborazione e il tuo data warehouse si ridimensiona in modo fluido e automatico.

Condivisione dei dati di Amazon Redshift ti consente di condividere in modo sicuro dati in tempo reale e coerenti a livello transazionale in un data warehouse Redshift con un altro data warehouse Redshift (con provisioning o serverless) tra account e regioni senza la necessità di copiare, replicare o spostare i dati da un data warehouse a un altro.

La condivisione dei dati di Amazon Redshift ti consente di evolvere le tue architetture di distribuzione di Amazon Redshift in un modello hub-and-spoke o mesh di dati per soddisfare meglio gli SLA prestazionali, fornire isolamento del carico di lavoro, eseguire analisi tra gruppi e integrare nuovi casi d'uso, il tutto senza complessità di spostamento e copia dei dati.

In questo post mostriamo come Wallapop ha adottato Redshift Serverless e la condivisione dei dati per modernizzare la propria architettura di data warehouse.

La piattaforma iniziale di architettura dei dati di Wallapop

Wallapop è una società spagnola di mercato e-commerce focalizzata su articoli di seconda mano, fondata nel 2013. Ogni giorno ricevono circa 300,000 nuovi articoli dagli acquirenti da aggiungere al loro catalogo. È possibile accedere al mercato tramite app mobile o sito Web.

Il traffico medio mensile è di circa 15 milioni di utenti attivi. Dalla sua creazione nel 2013, ha raggiunto più di 40 milioni di download e sono stati elencati più di 700 milioni di prodotti.

Amazon Redshift svolge un ruolo centrale nella piattaforma dati su AWS per carichi di lavoro di acquisizione, ETL (estrazione, trasformazione e caricamento), machine learning (ML) e consumo che eseguono il consumo di insight per guidare il processo decisionale.

L'architettura iniziale è composta da un cluster principale fornito da Redshift che ha gestito tutti i carichi di lavoro, come illustrato nel diagramma seguente. Il loro cluster è stato distribuito con 8 nodi ra3.4xlarge e ridimensionamento della concorrenza abilitato.

Wallapop aveva tre aree principali da migliorare nella sua piattaforma iniziale di architettura dei dati:

  • Sfide di isolamento dei carichi di lavoro con volumi di dati in crescita e nuovi carichi di lavoro eseguiti in parallelo
  • Onere amministrativo sui team di ingegneria dei dati per gestire i carichi di lavoro simultanei, soprattutto nelle ore di punta
  • Rapporto costi-prestazioni durante il ridimensionamento durante i periodi di punta

Le aree di miglioramento si sono concentrate principalmente sulle prestazioni dei carichi di lavoro di consumo dei dati insieme allo strumento di consumo di BI e analisi, dove l'elevata concorrenza delle query influiva sulla preparazione finale dell'analisi e sul consumo di insight.

Panoramica della soluzione

Per migliorare l'architettura della propria piattaforma dati, Wallapop ha progettato e realizzato un nuovo approccio distribuito con Amazon Redshift con il supporto di AWS.

La dimensione del cluster del data warehouse fornito non è cambiata. Ciò che è cambiato è stato ridurre il ridimensionamento della concorrenza di utilizzo a 1 ora, ovvero nell'utilizzo del livello gratuito per ogni 24 ore di utilizzo del cluster principale. Il diagramma seguente illustra l'architettura di destinazione.

Dettagli della soluzione

La nuova architettura della piattaforma dati combina Redshift Serverless e data warehouse con provisioning con la condivisione dei dati di Amazon Redshift, aiutando Wallapop a migliorare la propria esperienza complessiva con Amazon Redshift con maggiore facilità d'uso, prestazioni e costi ottimizzati.

Redshift Serverless misura la capacità del data warehouse nelle unità di elaborazione Redshift (RPU). Le RPU sono risorse utilizzate per gestire i carichi di lavoro. È possibile regolare l'impostazione della capacità di base da 8 RPU a 512 RPU in unità di 8 (8, 16, 24 e così via).

La nuova architettura utilizza un cluster con provisioning Redshift con nodi RA3 per eseguire i propri carichi di lavoro costanti e scrivere (processi di acquisizione e trasformazione dei dati). In termini di efficienza dei costi, anche Wallapop ne trae vantaggio Istanze riservate Redshift per ottimizzare i costi per questi carichi di lavoro noti, prevedibili e costanti. Questo cluster funge da cluster produttore nella loro architettura distribuita utilizzando la condivisione dei dati, il che significa che i dati vengono acquisiti nel livello di storage di Amazon Redshift—Redshift Managed Storage (RMS).

Per la parte di consumo dell'architettura della piattaforma dati, i dati vengono condivisi con diversi endpoint Redshift Serverless per soddisfare le esigenze di diversi carichi di lavoro di consumo.

La condivisione dei dati fornisce l'isolamento dei carichi di lavoro. Con questa architettura, Wallapop ottiene un migliore isolamento del carico di lavoro e garantisce che solo i dati giusti vengano condivisi con le diverse applicazioni di consumo. Inoltre, questo approccio evita la duplicazione dei dati nella parte consumer, ottimizzando i costi e consentendo migliori processi di governance, poiché devono gestire solo una singola versione dei dati del data warehouse invece di diverse copie o versioni degli stessi.

Redshift Serverless viene utilizzato come parte consumer dell'architettura della piattaforma dati per soddisfare i carichi di lavoro di analisi prevedibili e imprevedibili, non costanti e spesso impegnativi, come i lavori CI/CD e i carichi di lavoro di consumo di analisi e BI provenienti dall'applicazione di visualizzazione dei dati. Redshift Serverless li aiuta inoltre a ottenere un migliore isolamento dei carichi di lavoro grazie alla sua funzionalità di scalabilità automatica gestita che garantisce che le prestazioni siano costantemente buone per questi carichi di lavoro imprevedibili, anche nelle ore di punta. Fornisce inoltre un'esperienza utente migliore per il team della piattaforma dati Wallapop, grazie alle funzionalità autonome fornite da Redshift Serverless.

La nuova soluzione che combina Redshift Serverless e la condivisione dei dati ha consentito a Wallapop di ottenere prestazioni, costi e facilità d'uso migliori.

Eduard Lopez, Wallapop Data Engineering Manager, ha condiviso l'esperienza migliorata degli utenti di analisi: "I nostri utenti analisti ci dicono che ora 'Looker vola.' Di conseguenza, il consumo di insight è aumentato senza aumentare i costi”.

Valutazione del risultato

Wallapop ha avviato questo sforzo di riarchitettura testando innanzitutto l'isolamento del carico di lavoro di consumo della BI con la condivisione dei dati di Amazon Redshift e Redshift Serverless con il supporto di AWS. Il carico di lavoro è stato testato utilizzando diverse configurazioni RPU di base per misurare la capacità di base e le risorse in Redshift Serverless. Intervalli RPU di base per Redshift Serverless compresi tra 8 e 512. Wallapop ha testato il proprio carico di lavoro BI con due configurazioni: 32 RPU di base e 64 RPU di base, dopo aver abilitato la condivisione dei dati dal cluster fornito da Redshift per garantire che gli endpoint serverless abbiano accesso ai set di dati necessari.

Sulla base dei risultati misurati 1 settimana prima del test, la principale area di miglioramento riguardava le query che richiedevano più di 10 secondi per essere completate (52%), rappresentate dalle aree gialle, arancioni e rosse del grafico seguente, nonché dalle aree query di lunga durata rappresentate dall'area rossa (oltre 600 secondi, 9%).

Il primo test di questo carico di lavoro con Redshift Serverless utilizzando una configurazione a 64 RPU base ha mostrato immediatamente risultati di miglioramento delle prestazioni: le query con esecuzione superiore a 10 secondi sono state ridotte del 38% e le query con esecuzione prolungata (oltre 120 secondi) sono state quasi completamente eliminate.

Javier Carbajo, Wallapop Data Engineer, afferma: "Fornire un servizio senza tempi di inattività o tempi di caricamento troppo lunghi era uno dei nostri requisiti principali poiché non potevamo avere analisti o stakeholder senza poter consultare i dati".

Dopo la prima serie di risultati, Wallapop ha anche testato una configurazione Redshift Serverless utilizzando 32 RPU base per confrontare i risultati e selezionare la configurazione che potrebbe offrire il miglior rapporto prezzo-prestazioni per questo carico di lavoro. Con questa configurazione, i risultati erano simili al test eseguito in precedenza su Redshift Serverless con 64 RPU base (mostrando ancora un significativo miglioramento delle prestazioni rispetto ai risultati originali). Sulla base dei test è stata scelta questa configurazione per la nuova architettura.

Gergely Kajtár, Wallapop Data Engineer, afferma: "Abbiamo notato un aumento significativo della stabilità dei flussi di lavoro giornalieri dopo il passaggio alla nuova architettura Redshift."

In seguito a questo primo carico di lavoro, Wallapop ha continuato a espandere la propria architettura distribuita Amazon Redshift con carichi di lavoro CI/CD in esecuzione su un endpoint Redshift Serverless separato utilizzando la condivisione dei dati con il cluster Redshift Provisioned (RA3).

“Con la nuova architettura Redshift abbiamo notato notevoli miglioramenti sia in termini di velocità che di stabilità. Ciò si è tradotto in un aumento di 2 volte delle query analitiche, non solo da parte di analisti e data scientist ma anche da altri ruoli come marketing, ingegneria, livello C, ecc. Ciò dimostra che investire in un'architettura scalabile come Redshift Serverless ha una conseguenza diretta sull’accelerazione dell’adozione dei dati come motore decisionale nell’organizzazione.”

– Nicolás Herrero, Direttore di dati e analisi di Wallapop.

Conclusione

In questo post, ti abbiamo mostrato come questa piattaforma può aiutare Wallapop a crescere in futuro aggiungendo nuovi consumatori quando nuove esigenze o applicazioni richiedono l'accesso ai dati.

Se non hai mai utilizzato Amazon Redshift, puoi esplorare demo, storie di altri clienti e le ultime funzionalità all'indirizzo Amazon RedShift. Se utilizzi già Amazon Redshift, contatta il team del tuo account AWS per ricevere supporto e ottenere ulteriori informazioni cosa c'è di nuovo con Amazon Redshift.


Informazioni sugli autori

Edoardo López è il responsabile dell'ingegnere dei dati presso Wallapop. È un ingegnere del software con oltre 6 anni di esperienza in ingegneria dei dati, apprendimento automatico e scienza dei dati.

Daniel Martinez è un Solutions Architect presso Iberia Digital Native Businesses (DNB), parte dell'organizzazione mondiale delle vendite commerciali (WWCS) presso AWS.

Jordi Montoliu è uno specialista Sr. Redshift in EMEA, parte dell'organizzazione specializzata mondiale (WWSO) presso AWS.

Ziad Wali è un Acceleration Lab Solutions Architect presso Amazon Web Services. Ha oltre 10 anni di esperienza nei database e nel data warehousing, dove gli piace creare soluzioni affidabili, scalabili ed efficienti. Al di fuori del lavoro, gli piace lo sport e trascorrere il tempo nella natura.

Semir Naffati è Sr. Redshift Specialist Solutions Architect in EMEA, parte dell'organizzazione specializzata mondiale (WWSO) presso AWS.

spot_img

L'ultima intelligenza

spot_img