Migliora i carichi di lavoro di warehouse di dati di Databricks con i VM Azure E8ds_v4 e motore Databricks Photon

Caratteristiche principali:

  • Fino all'80% in meno query di supporto di decisione per il tempo per l'esecuzione con i VM E8ds_v4 rispetto ai VM E8s_v3 più vecchi

  • Fino al 31% in meno di query di supporto di decisione per il tempo per l'esecuzione con i VM E8ds_v4 rispetto ai VM E8as_v4 con processori AMDEPYC

  • Fino al 65% in meno di query di supporo di decisione per il tempo per l'esecuzione con photon abilitato rispetto a senza photon abiliktato sui VM E8ds_v4

author-image

di

Con i processori scalabili Intel® Xeon® di seconda generazione, i VM E8ds_v4 hanno superato le prestazioni sia dei VM E8s_v3 che E8as_v4

Mentre dispositivi IOT, siti web, database e altre fonti forniscono quantità crescenti di dati alle aziende, la capacità di conservare e analizzare quei dati diventa sempre più importante. I database center e i data warehouse forniscono un'infrastruttura di stoccaggio su larga scala per i dati non strutturati e i dati strutturati, rispettivamente. Databricks combina le funzionalità sia dai warehouse di dati che dai data lake per memorizzare e analizzare grandi quantità di dati strutturati e non strutturati con la loro piattaforma Lakehouse. La piattaforma Lakehouse è progettata su Delta Lake, un progetto open source che offre affidabilità, sicurezza e prestazioni sui data lake. Le piattaforme Databricks Lakehouse forniscono prestazioni su scala con ottimizzazioni come il Caching, l'Indexing e la Compattazione di dati. Inoltre, la piattaforma Databricks Lakehouse ha il motore Photon, un motore di query vettoriale, che per SQL velocizza ulteriormente le prestazioni di query SQL a basso costo, analisi di dati, fornendo informazioni aziendali ancora prima.

Nei nostri test qui presso Intel, abbiamo eseguito un benchmark di supporto decisionale rispetto a un carico di lavoro di ingegneria di dati Azure Databricks (Spark Cluster) utilizzando la versione 9.0. di Databricks runtime. Il benchmark ha eseguito 99 query rispetto a un cluster Azure VM da 20 nodi. Oltre a evidenziare il motore Databricks Photon, il nostro obiettivo era mostrare quanto velocemente un cluster di VM E8ds_v4 supportato da processori scalabili Intel Xeon di seconda generazione potrebbe completare le query di dati rispetto a un cluster VM E8s_v3 più vecchio di seconda generazione. Abbiamo anche confrontato il cluster E8ds_v4 a un cluster E8as_v4 supportato dai processori AMD EPYC per mostrare le prestazioni e i vantaggi di valore dei VM Edsv4. Per tutti questi confronti, abbiamo testato sia un dataset da 1TB che uno da 10TB per illustrare come puoi ottenere prestazioni migliori indipendentemente dalla dimensione del tuo set di dati.

Riduci il tempo di query del tuo database con il motore Databricks Photon

Le query di analisi dei dati prima completano, più velocemente è possibile implementare le informazioni per migliorare e espandere la tua azienda. Il motore photon, costruito in C++, migliora le prestazioni di query in SQL e Spark, accelerando l'analisi dei tuoi dati. Per dimostrare quanto bene Photon può migliorare le prestazioni della query, abbiamo testato il nostro cluster Edsv4 con Photon disabilitato e abilitato. La Figura 1 mostra come il cluster E8ds_v4 con Photon abilitato ha completato un dataset 2.82 1TB in 65% in meno rispetto allo stesso cluster senza Photon, e ha completato un dataset 10TB in 68% in meno di tempo.

Figura 1. Il tempo di elaborazione relativa per completare le query di benchmark delle decisioni 99 con Photon rispetto a senza i cluster Photon on E8ds_v4 su dataset 1TB e 10TB.

Oltre ad accelerare il tempo per le informazioni, un querying di dati più veloce significa anche meno operatività di VM. Con Photon, il cluster E8ds_v4 farebbe costare il 35% di meno per eseguire un dataset da 1TB rispetto allo stesso cluster con Photon e il 30% di meno per eseguire un dataset da 10TB. La Figura 2 confronta i costi/le prestazioni per ogni cluster. Come mostrato, tempi di esecuzione minori si traducono in risparmi.

Figura 2. Rapporto prezzo/prestazioni normalizzato per eseguire un carico di lavoro di supporto decisionale rispetto a un ambiente di Databricks su VM Azure E8ds_v4 sia su dataset da 1TB che da 10TB.

Generazione su generazione: l'aggiornamento vale la pena?

Utilizzare il motore Databricks Photon non è l'unico modo per garantire prestazioni ottimali. La scelta del giusto hardware ha anche un impatto sulle prestazioni dei carichi di lavoro di supporto decisivi. Mentre il concetto che l'hardware più recente porti a prestazioni migliori è per nulla innovativo, non sempre è evidente quanto miglioramento un carico di lavoro otterrà effettivamente su un hardware più recente. Il miglioramento potrebbe essere così piccolo che potrebbero sembrare che non valga lo sforzo o l'aumento di costi di spostarsi su un nuovo hardware. Mentre Azure diminuisce di molto i sacrifici di aggiornare un hardware, uno dei tanti vantaggi di eseguire i tuoi carichi di lavoro sul cloud, che dire dei costi? È naturale ipotizzare che istanze più recenti costano di più. Sebbene sia vero, in questo caso, le prestazioni aumentano le offerte dell'hardware, il che produce un guadagno netto in termini di valore, supportando la scelta di aggiornare.

Per mostrare ai lettori ciò che potrebbero perdersi rimanendo in hardware vecchi, abbiamo creato una situazione ipotetica. Abbiamo testato il nostro carico di lavoro di supporto decisionale su un cluster E8s_v3 da 20 nodi con Databricks Runtime 9.0 per ottenere una misurazione di prestazioni di baseline. La serie Esv3 di Azure offre VM con una gamma di processori da Intel® Xeon® E5-2673 v4 a Intel Xeon 8272CL. Quale CPU si ottiene quando si avvia un VM è casuale, il che significa che un cluster di 20 nodi potrebbe avere un mix di tipi di CPU, tra cui alcuni che sono tre generazioni di CPU Intel più vecchie dei processori più recenti. Per i nostri test, abbiamo assicurato che tutti i VM E8s_v3 abbiano elencato lo stesso processore Intel Xeon Platinum 8171M quando abbiamo iniziato i nostri test per la consistenza. Quindi abbiamo testato lo stesso carico di lavoro su un cluster E8ds_v4 da 20 nodi con Photon abilitato. Azure garantisce che ogni VM Edsv4 utilizza un processore Intel Xeon Platinum 8272CL, offrendo prestazioni costanti.

Quando confrontiamo le prestazioni dei due cluster di VM, è chiaro che l'aggiornamento ai VM E8ds_v4 più recenti è un vantaggio per le prestazioni indipendentemente dalle dimensioni del dataset. Con il set di dati 1TB, la query cluster E8ds_v4 ha ridotto il tempo di completamento a solo il 26% di quello del cluster E8s_v3. Con il set di dati 10TB, il tempo di completamento della query E8ds_v4 era ancora più basso e un quinto quello del cluster E8s_v3 (vedi Figura 3).

Figura 3. Il tempo di elaborazione relativo per completare le 99 query di benchmark di supporto decisionale su un cluster di VM E8ds_v4 VM con processori scalabili Intel Xeon di seconda generazione rispetto a un cluster di VM E8s_v3 più vecchio sia su dataset da 1TB che da 10TB.

Miglior valore di generazione su generazione

Con guadagni prestazionali come quelli illustrati nella Figura 3, sembra probabile che il costo extra di aggiornamento dai VM E8s_v3 ai VM E8ds_v4 valga la pena. Utilizzando il Prezzo pubblico all'ora al momento del test, abbiamo determinato il costo per eseguire ogni scenario di carico di lavoro. Abbiamo convertito il tempo di elaborazione della query totale da millisecondi alle ore, abbiamo combinato il costo orario delle istanze storage e calcolato Prezzo per ogni corsa TB per tutti e quattro gli scenari. Come mostra la Figura 4, eseguire un carico di lavoro di supporto decisionale con un dataset 1TB costerebbe quasi il doppio sul cluster E8s_v3 di quanto costerebbe sul cluster E8ds_v4. Ancora più impressionante, l'esecuzione del set di dati da 10TB sul cluster E8ds_v4 costerebbe molto meno della metà di quanto costerebbe sul vecchio cluster E8s_v3, un risparmio del 61%.

Figura 4. Rapporto prezzo/prestazioni normalizzato per eseguire un carico di lavoro di supporto decisionale rispetto a un ambiente di Databricks su VM Azure E8ds_v4 comparato a E8s_v3 sia su dataset da 1TB che da 10TB.

Competitivo: ma che si dice a riguardo dei VM E8as_v4?

Prestazioni competitive

Ok, quindi ti abbiamo convinto a passare dai VM E8s_v3, ma Azure offre anche i VM E8as_v4 supportati dai processori AMD EPYC. Come questi si confrontano ai VM E8ds_v4 supportati dai processori scalabili Intel® Xeon® di seconda generazione? Abbiamo ampliato il nostro scenario ipotetico illustrato nella sezione precedente per rispondere a questa domanda. Abbiamo testato lo stesso carico di lavoro di supporto decisionale di Databricks Runtime 9.0 da 20 nodi sui VM E8as_v4 e confrontato i risultati al cluster E8ds_v4. Come puoi vedere nella Figura 5, il cluster E8ds_v4 supportato dai processori Intel ha superato il cluster E8as_v4 supportato dai processori AMD EPYC con entrambe le dimensioni del dataset. Il cluster E8ds_v4 ha completato le 99 query su un dataset da 1TB nel 31% di tempo in meno rispetto al cluster E8as_v4. E per il dataset da 10TB, il tempo di cluster E8ds_v4 per il completamento era del 23% in meno rispetto a quello del cluster E8as_v4.

Figura 5: il tempo di elaborazione relativo per completare 99 query di supporto decisionale su Databricks su un cluster E8ds_v4 supportato da processori scalabili Intel Xeon di seconda generazione rispetto a un cluster E8as_v4 supportato dai processori AMD EPYC.

Valore competitivo

Infine, che dire sulle differenze di costi? Utilizzando la stessa metodologia che abbiamo descritto nella sezione precedente, abbiamo esaminato il prezzo per ogni corsa di TB per ottenere il valore relativo dell'E8ds_v4 rispetto all'E8as_v4. Ancora una volta, come mostra la Figura 6, il cluster E8ds_v4 supportato dai processori Intel offre il valore migliore per i carichi di lavoro di supporto decisionale Databricks. Sui dataset da 1TB, il costo per eseguire il carico di lavoro su un cluster E8as_v4 è del 30% in meno rispetto all'esecuzione dello stesso carico di lavoro sul cluster E8ds_v4. Con un grande dataset da 10TB, l'E8as_v4 costa il 22% in meno rispetto al cluster E8ds_v4.

Figura 6. Rapporto prezzo/prestazioni normalizzato per eseguire un carico di lavoro di supporto decisionale rispetto a un ambiente di Databricks su VM Azure E8as_v4 comparato a E8s_v3 sia su dataset da 1TB che da 10TB.

Ulteriori dati competitivi: e per quanto riguarda le istanze ottimizzate dallo storage?

Abbiamo eseguito un test aggiuntivo che confronta le istanze E8ds_v4 con processori scalabili Intel Xeon di seconda generazione alle istanze Lsv2 ottimizzate dallo storage con processori AMD EPYC 7551. Anche qui, le istanze E8ds_v4 supportate da Intel hanno offerto vantaggi sia nelle prestazioni che nel rapporto prezzo-prestazioni. Come mostra la Figura 7, il cluster E8ds_v4 ha completato le query in fino al 38% di tempo in meno rispetto alle istanze L8s_v2. Quando calcoliamo la differenza di prezzo/prestazioni, il cluster E8ds_v4 costa fino al 39% in meno rispetto al cluster L8s_v2 (vedere Figura 8).

Figura 7: il tempo di elaborazione relativo per completare 99 query di supporto decisionale su Databricks su un cluster E8ds_v4 supportato da processori scalabili Intel Xeon di seconda generazione rispetto a un cluster L8s_v2 supportato dai processori AMD EPYC.

Figura 8. Rapporto prezzo/prestazioni normalizzato per eseguire un carico di lavoro di supporto decisionale rispetto a un ambiente di Databricks su VM Azure E8as_v4 comparato a L8s_v2 sia su dataset da 1TB che da 10TB.

Il nostro ambiente di test

Per tutti i risultati elencati in questo report, abbiamo utilizzato un carico di lavoro di supporto decisionale e la versione 9.0 di Databricks Runtime che include Apache Spark 3.12 e Scala 2.12. Parametri di carico di lavoro per tutti i test inclusi i seguenti:

  • passthrough spark databricks abilitato: vero
  • autoOptimizeShuffle adattivo spark databricks abilitato: vero
  • maxMetaDataCache cache io spark databricks 10g
  • DiskUsage massimo di cache io spark databricks 100g
  • anteprima delta spark databrick abilitato: vero

Tutti i VM sotto test hanno eseguito il kernel Ubuntu 20.04.1 v5.4.0-1056-azure. Intel ha condotto i test E8s_v3 rispetto a E8ds_v4, E8ds_v4 con e senza Photon, e E8ds_v4 rispetto a E8as_v4 nell'ottobre 2021 su Azure nella regione US-East-2. Intel ha condotto i test E8ds_v4 vs. Ls_v2 il 17 novembre 2021.

Configurazione E8s_v3

La configurazione del cluster E8s_v3 di baseline consisteva in 1x VM Standard_E8s_v3 per il VM del controller e 20x VM Standard_E8s_v3 per i VM dei lavoratori. Mentre i VM E8s_v3 hanno più opzioni di processore, i nostri VM avevano la CPU Intel Xeon Platinum 8171M da 2.60GHz. Le VM avevano anche una memoria da 64GB ciascuna e dischi di storage da 128GB. La BW/Istanza (Mbps) di rete era 4/4000 e la BW/Instance (Mbps) di storage era 16.000/128 (200).

Configurazione E8ds_v4

La configurazione del cluster E8ds_v4 consisteva di 1x VM Standard_E8ds_v4 per il VM di controller e 20x VM Standard_E8ds_v4 per i VM dei lavoratori. Ogni VM E8ds_v4 consisteva in una CPU Intel Xeon Platinum 8272CL da 2.60GHz, 64GB memoria e un disco di storage da 300GB. La BW/Istanza (Mbps) di rete era 4/4000, e la BW/Istanza (Mbps) di storage era 77000/485 (200). Il throughput/BW (dimensione della cache) per il confronto ottimizzato dallo storage era 38000/500.

Configurazione E8as_v4

La configurazione del cluster E8as_v4 consisteva di 1x VM Standard_E8as_v4 per il VM di controller e 20x VM Standard_E8as_v4 per i VM dei lavoratori. Ogni VM E8as_v4 consisteva di un processore EPYC 7452 da 32-core, 64GB memoria e un disco di storage da 128GB. La BW/Istanza (Mbps) di rete era 4/3200 e la BW/Instance (Mbps) di storage era 16000/128 (200).

Configurazione Ls_v2

La configurazione del cluster Ls_v2 consisteva di 1x istanza Standard_Ls_v2 per il VM di controller e 20x istanze Standard_Ls_v2 per i VM dei lavoratori. Ogni VM Ls_v2 consisteva di un processore AMD EPYC 7551 da 32 core, 64GB memoria e un disco da 80GB. Inoltre, l'istanza ha fornito un disco NVMe da 1,92TB (IOPS/MBP di lettura 400000/2000). La BW/Istanza (Mbps) di rete era 4/3200 e il throughput/BW di storage (dimensione cache) era 8000/160 (200).

Conclusioni

Il nostro test di Databricks con un benchmark di supporto decisionale offre informazioni che possono aiutare le aziende che stanno affrontando decisioni sulle prestazioni e i costi quando eseguendo i loro carichi di lavoro nel cloud. Se stai cercando di determinare le migliori istanze per i tuoi carichi di lavoro di database di supporto decisionale, le varie scelte disponibili possono farti entrare in confusione. I nostri test mostrano che la selezione di VM più recenti può offrire prestazioni migliori e maggior valore. Inoltre, la scelta di VM supportati da Intel nei nostri test ha superato la stessa generazione di VM AMD. Per i tuoi carichi di lavoro di database supporto decisionale, scegliere i VM E8ds_v4 per ottenere il massimo per i vostri soldi.