Verbessern Sie die Databricks Data Warehouse-Workloads mit der Azure E8ds_v4 VMs und der Databricks Photon Engine

Kernaussagen:

  • Bis zu 80 % geringere Dauer der Ausführung bei Abfragen zur Entscheidungsunterstützung mit E8ds_v4 VMs im Vergleich zu älteren E8s_v3 VMs

  • Bis zu 31 % geringere Dauer der Ausführung bei Abfragen zur Entscheidungsunterstützung mit E8ds_v4 VMs im Vergleich zu E8as_v4 VMs mit AMDEPYC-Prozessoren

  • Bis zu 65 % geringere Dauer der Ausführung bei Abfragen zur Entscheidungsunterstützung mit photon-aktivierten Abfragen im Vergleich zu Abfragen ohne Photon auf E8ds_v4 VMs

author-image

By

Ausgestattet mit skalierbaren Intel® Xeon® Prozessoren der 2. Generation, übertrafen die E8ds_v4 VMs sowohl die E8s_v3 als auch die E8as_v4 VMs

Da IOT-Geräte, Websites, Datenbanken und andere Quellen den Unternehmen immer größere Datenmengen liefern, wird die Fähigkeit, diese Daten zu speichern und zu analysieren, immer wichtiger. Data Lakes und Data Warehouses bieten eine groß angelegte Speicherinfrastruktur für unstrukturierte bzw. strukturierte Daten. Databricks kombiniert Funktionen aus Data Warehouses und Data Lakes, um große Mengen strukturierter und unstrukturierter Daten mit ihrer Lakehouse-Plattform zu speichern und zu analysieren. Die Lakehouse-Plattform basiert auf Delta Lake, einem Open-Source-Projekt, das Zuverlässigkeit, Sicherheit und Leistung auf den Data Lakes bietet. Die Databricks Lakehouse-Plattformen bieten eine skalierbare Leistung mit Optimierungen wie Caching, Indexierung und Datenkomprimierung. Darüber hinaus verfügt die Databricks Lakehouse-Plattform über Photon Engine, eine vektorisierte Abfrage-Engine, die für SQL die Leistung von SQL-Abfragen bei niedrigen Kosten weiter beschleunigt, Datenanalysen durchführt und Geschäftseinblicke noch schneller liefert.

In unseren Tests hier bei Intel haben wir einen Entscheidungsunterstützungs-Benchmark gegen einen Azure Databricks-Datentechnik-Workload (Spark Cluster) unter Verwendung der Databricks Runtime Version 9.0 durchgeführt. Die Benchmark führte 99 Abfragen gegen einen Azure VM-Cluster mit 20 Knoten durch. Neben der Hervorhebung der Databricks Photon Engine war es unser Ziel zu zeigen, wie schnell ein E8ds_v4-VM-Cluster, der von skalierbaren Intel Xeon-Prozessoren der 2. Generation unterstützt wird, die Datenabfragen im Vergleich zu einem älteren E8s_v3-VM-Cluster abschließen kann. Außerdem haben wir den E8ds_v4-Cluster mit einem E8as_v4-Cluster auf Basis von AMD EPYC-Prozessoren verglichen, um die Leistungs- und Wertvorteile von Edsv4-VMs zu zeigen. Für alle diese Vergleiche haben wir sowohl einen 1 TB als auch einen 10 TB Datensatz getestet, um zu zeigen, wie Sie eine bessere Leistung erhalten können, unabhängig von Ihrer Datensatzgröße.

Reduzieren Sie Ihre Datenbankabfragezeit mit der Databricks-Photon-Engine

Je früher die Abfragen zur Datenanalyse abgeschlossen sind, desto schneller können Sie die Erkenntnisse zur Verbesserung und Erweiterung Ihres Unternehmens umsetzen. Die Photon Engine, die in C++ eingebaut ist, verbessert die Abfrageleistung in SQL und Spark und beschleunigt die Analyse Ihrer Daten. Um zu zeigen, wie gut Photon die Abfrageleistung verbessern kann, haben wir unseren Edsv4-Cluster mit deaktiviertem und aktiviertem Photon getestet. Abbildung 1 zeigt, wie der E8ds_v4-Cluster mit aktiviertem Photon einen 1 TB Datensatz 2,82 in 65 % kürzerer Zeit als derselbe Cluster ohne Photon und einen 10 TB Datensatz in 68 % kürzerer Zeit bewältigte.

Abbildung 1: Die relative Verarbeitungszeit für die 99 Entscheidungsunterstützungs-Benchmark-Abfragen mit Photon im Vergleich zu ohne Photon auf E8ds_v4-Clustern mit 1 TB und 10 TB Datensätzen.

Eine schnellere Datenabfrage führt nicht nur zu schnelleren Erkenntnissen, sondern auch zu einer geringeren Betriebszeit der VM. Mit Photon würde der E8ds_v4-Cluster 35 % weniger für die Ausführung eines 1 TB großen Datensatzes kosten als der gleiche Cluster ohne Photon, und 30 % weniger für die Ausführung eines 10 TB großen Datensatzes. Abbildung 2 vergleicht die Kosten/Leistung für jeden Cluster. Wie sich zeigt, führen kürzere Laufzeiten zu Einsparungen.

Abbildung 2: Normalisiertes Preis-Leistungs-Verhältnis für die Ausführung eines Entscheidungsunterstützungs-Workloads in einer Databricks-Umgebung auf Azure E8ds_v4-VMs auf sowohl 1 TB als auch 10 TB Datensätzen.

Generation zu Generation: Lohnt sich ein Upgrade?

Die Verwendung der Databricks Photon Engine ist nicht die einzige Möglichkeit, eine gute Leistung zu gewährleisten. Die Wahl der richtigen Hardware wirkt sich auch auf die Leistung Ihrer Workloads zur Entscheidungsunterstützung aus. Das Konzept, dass neuere Hardware zu einer besseren Leistung führt, ist zwar nicht neu, aber es ist nicht immer offensichtlich, wie viel Verbesserung ein Workload auf neuerer Hardware tatsächlich erreicht. Die Verbesserung kann so gering sein, dass sich der Aufwand und die Kosten für den Wechsel zu neuerer Hardware nicht lohnen. Mit Azure entfällt zwar ein Großteil der Mühe und des Aufwands für Hardware-Upgrades – eine der vielen Annehmlichkeiten, die der Betrieb von Workloads in der Cloud mit sich bringt -, aber wie sieht es mit den Kosten aus? Es liegt nahe anzunehmen, dass neuere Instanzen mehr kosten. Auch wenn dies in diesem Fall zutrifft, ist die Leistungssteigerung der neueren Hardware unter dem Strich ein Gewinn, was die Entscheidung für ein Upgrade unterstützt.

Um den Lesern zu zeigen, was sie möglicherweise verpassen, wenn sie bei älterer Hardware bleiben, haben wir eine hypothetische Situation geschaffen. Wir haben unseren Workload zur Entscheidungsunterstützung auf einem E8s_v3-Cluster mit 20 Knoten und Databricks Runtime 9.0 getestet, um einen Ausgangswert für die Leistung zu erhalten. Die Esv3-Reihe von Azure bietet VMs mit einer Reihe von Prozessoren vom Intel® Xeon® E5-2673 v4 bis zum Intel Xeon 8272CL. Welche CPU Sie erhalten, wenn Sie eine VM starten, ist zufällig. Das bedeutet, dass ein Cluster mit 20 Knoten eine Mischung aus verschiedenen CPU-Typen haben kann, darunter auch einige, die drei Intel CPU-Generationen älter sind als die neuesten Prozessoren. Für unsere Tests haben wir sichergestellt, dass alle E8s_v3-VMs denselben Intel Xeon Platinum 8171M-Prozessor angegeben hatten, als wir unsere Tests starteten, um Konsistenz zu gewährleisten. Anschließend haben wir den gleichen Workload auf einem E8ds_v4-Cluster mit 20 Knoten und aktiviertem Photon getestet. Azure garantiert, dass jede Edsv4-VM einen Intel Xeon Platinum 8272CL-Prozessor verwendet, der eine konstante Leistung bietet.

Wenn wir die Leistung der beiden VM-Cluster vergleichen, wird deutlich, dass ein Upgrade auf die neueren E8ds_v4-VMs unabhängig von der Größe des Datensatzes einen Leistungsschub bedeutet. Mit dem 1 TB großen Datensatz reduzierte die E8ds_v4-Cluster-Abfrage die Fertigstellungszeit auf nur 26 % der Zeit des E8s_v3-Clusters. Mit dem 10 TB-Datensatz war die Abfragezeit des E8ds_v4-Clusters sogar um ein Fünftel niedriger als die des E8s_v3-Clusters (siehe Abbildung 3).

Abbildung 3: Die relative Verarbeitungszeit für die 99 Entscheidungsunterstützungs-Benchmark-Abfragen auf einem E8ds_v4-VM-Cluster mit skalierbaren Intel Xeon-Prozessoren der 2. Generation im Vergleich zu einem älteren E8s_v3-VM-Cluster auf 1 TB- und 10 TB-Datensätzen.

Besserer Generation zu Generation-Wert

Angesichts der in Abbildung 3 dargestellten Leistungssteigerungen scheint es wahrscheinlich, dass sich die zusätzlichen Kosten für ein Upgrade von E8s_v3-VMs auf E8ds_v4-VMs lohnen würden. Anhand des öffentlichen Stundensatzes zum Zeitpunkt des Tests haben wir die Kosten für die Ausführung der einzelnen Workload-Szenarien ermittelt. Wir haben die gesamte Abfrageverarbeitungszeit von Millisekunden in Stunden umgerechnet, die stündlichen Kosten für die Instanzen und den Speicherplatz kombiniert und den Preis pro TB für alle vier Szenarien berechnet. Wie Abbildung 4 zeigt, würde die Ausführung eines Entscheidungsunterstützungs-Workloads mit einem 1 TB großen Datensatz auf dem E8s_v3-Cluster fast doppelt so viel kosten wie auf dem E8ds_v4-Cluster. Noch beeindruckender ist, dass die Ausführung des 10 TB Datensatzes auf dem E8ds_v4-Cluster deutlich weniger als die Hälfte des Preises des älteren E8s_v3-Clusters kosten würde, was einer Einsparung von 61 % entspricht.

Abbildung 4: Normalisiertes Preis-Leistungs-Verhältnis für die Ausführung eines Entscheidungsunterstützungs-Workloads in einer Databricks-Umgebung auf Azure E8ds_v4-VMs im Vergleich zu E8s_v3-VMs auf 1 TB- und 10 TB-Datensätzen.

Wettbewerbsfähig: Aber was ist mit den E8as_v4-VMs?

Hervorragende Leistung

Okay, wir haben Sie also davon überzeugt, die E8s_v3-VMs nicht mehr zu verwenden, aber Azure bietet auch E8as_v4-VMs an, die von AMD EPYC-Prozessoren unterstützt werden. Wie sehen diese im Vergleich zu den E8ds_v4 VMs aus, die von den skalierbaren Intel® Xeon® Prozessoren der 2. Generation unterstützt werden? Um diese Frage zu beantworten, haben wir unser im vorigen Abschnitt beschriebenes hypothetisches Szenario erweitert. Wir haben den gleichen Databricks Runtime 9.0 Entscheidungsunterstützungsworkload mit 20 Knoten auf den E8as_v4 VMs getestet und die Ergebnisse mit dem E8ds_v4-Cluster verglichen. Wie in Abbildung 5 zu sehen ist, schnitt der E8ds_v4-Cluster mit Intel-Prozessoren bei beiden Datensatzgrößen besser ab als der E8as_v4-Cluster mit AMD EPYC-Prozessoren. Der E8ds_v4-Cluster erledigte die 99 Abfragen für einen 1 TB großen Datensatz in 31 % weniger Zeit als der E8as_v4-Cluster. Und für den 10 TB großen Datensatz war die Zeit bis zur Fertigstellung beim E8ds_v4-Cluster um 23 % niedriger als beim E8as_v4-Cluster.

Abbildung 5: Die relative Verarbeitungszeit für 99 Abfragen zur Entscheidungsunterstützung auf Databricks auf einem E8ds_v4-Cluster mit skalierbaren Intel Xeon-Prozessoren der 2. Generation im Vergleich zu einem E8as_v4-Cluster mit AMD EPYC-Prozessoren.

Wettbewerbsfähiger Wert

Und was ist mit den Kostenunterschieden? Mit der gleichen Methode wie im vorherigen Abschnitt haben wir den Preis pro TB-Lauf untersucht, um den relativen Wert des E8ds_v4 im Vergleich zum E8as_v4 zu ermitteln. Wie Abbildung 6 zeigt, bietet der E8ds_v4-Cluster mit Intel-Prozessoren erneut den besseren Wert für Databricks Entscheidungshilfe-Workloads. Bei 1 TB großen Datensätzen sind die Kosten für die Ausführung des Workloads auf einem E8as_v4-Cluster um 30 % geringer als bei der Ausführung desselben Workloads auf dem E8ds_v4-Cluster. Mit einem großen 10 TB Datensatz kostet der E8as_v4 22 % weniger als der E8ds_v4-Cluster.

Abbildung 6: Normalisiertes Preis-Leistungs-Verhältnis für die Ausführung eines Entscheidungsunterstützungs-Workloads in einer Databricks-Umgebung auf Azure E8ds_v4-VMs im Vergleich zu E8as_v4-VMs auf 1 TB- und 10 TB-Datensätzen.

Zusätzliche wettbewerbsfähige Daten: Was ist mit den speicheroptimierten Instanzen?

Wir haben einen zusätzlichen Test durchgeführt, der die E8ds_v4-Instanzen mit skalierbaren Intel Xeon-Prozessoren der 2. Generation mit den speicheroptimierten Lsv2-Instanzen mit AMD EPYC 7551 Prozessoren vergleicht. Selbst hier boten die von Intel unterstützten E8ds_v4-Instanzen Vorteile in Bezug auf Leistung und Preis/Leistung. Wie Abbildung 7 zeigt, erledigte der E8ds_v4-Cluster die Abfragen in bis zu 38 % weniger Zeit als die L8s_v2-Instanzen. Bei der Berechnung des Preis-/Leistungsunterschieds zeigt sich, dass der E8ds_v4-Cluster bis zu 39 % weniger kostet als der L8s_v2-Cluster (siehe Abbildung 8).

Abbildung 7: Die relative Verarbeitungszeit für 99 Abfragen zur Entscheidungsunterstützung auf Databricks auf einem E8ds_v4-Cluster mit skalierbaren Intel Xeon-Prozessoren der 2. Generation im Vergleich zu einem L8s_v2-Cluster mit AMD EPYC-Prozessoren.

Abbildung 8: Normalisiertes Preis-Leistungs-Verhältnis für die Ausführung eines Entscheidungsunterstützungs-Workloads in einer Databricks-Umgebung auf Azure E8ds_v4-VMs im Vergleich zu L8s_v2-VMs auf 1 TB- und 10 TB-Datensätzen.

Unsere Testumgebung

Für alle in diesem Bericht aufgeführten Ergebnisse haben wir einen Entscheidungsunterstützungs-Workload und die Databricks Runtime Version 9.0 verwendet, die Apache Spark 3.12 und Scala 2.12 enthält. Die Workload-Parameter für alle Tests umfassten Folgendes:

  • spark databricks passthrough enabled: true
  • spark databricks adaptive autoOptimizeShuffle enabled: true
  • spark databricks io cache maxMetaDataCache 10g
  • spark databricks io cache max DiskUsage 100g
  • spark databricks delta preview enabled: true

Auf allen getesteten VMs lief Ubuntu 20.04.1 Kernel v5.4.0-1056-azure. Intel führte die Tests E8s_v3 vs. E8ds_v4, E8ds_v4 mit und ohne Photon und E8ds_v4 vs. E8as_v4 im Oktober 2021 auf der Azure-Region US East-2 durch. Intel führte den Test E8ds_v4 vs. Ls_v2 am 17. November 2021 durch.

E8s_v3 Konfiguration

Die Baseline E8s_v3 Cluster-Konfiguration bestand aus 1x Standard_E8s_v3 VM für die Controller-VM und 20x Standard_E8s_v3 VMs für Worker-VMs. Während die E8s_v3 VMs mehrere Prozessoroptionen haben, hatten unsere VMs die Intel Xeon Platinum 8171M CPU @ 2.60 GHz. Die VMs hatten auch 64 GB Speicher und 128 GB Speicherplatten. Die Netzwerk-BW/Instanz (Mbit/s) war 4/4000 und die Speicher-BW/Instanz (Mbit/s) war 16.000/128 (200).

E8ds_v4 Konfiguration

Die E8ds_v4 Cluster-Konfiguration bestand aus 1x Standard_E8ds_v4 VM für die Controller-VM und 20x Standard_E8ds_v4 VMs für die Worker-VMs. Jede E8ds_v4 VM bestand aus einer Intel Xeon Platinum 8272CL CPU @2,60 GHz, 64 GB Speicher und einer 300 GB Speicherplatte. Die Netzwerk-BW/Instanz (Mbit/s) betrug 4/4000, und die Speicher-BW/Instanz (Mbit/s) betrug 77000/485 (200). Der Durchsatz/BW (Cachegröße) für den speicheroptimierten Vergleich betrug 38000/500.

E8as_v4 Konfiguration

Die E8as_v4 Cluster-Konfiguration bestand aus 1x Standard_E8as_v4 VM für die Controller-VM und 20x Standard_E8as_v4 VMs für die Worker-VMs. Jede E8as_v4 VM bestand aus einem AMD EPYC 7452 32-Core Prozessor, 64 GB Speicher und einer 128 GB Speicherplatte. Die Netzwerk-BW/Instanz (Mbit/s) war 4/3200 und die Speicher-BW/Instanz (Mbit/s) betrug 16.000/128 (200).

Ls_v2 Konfiguration

Die Ls_v2-Cluster-Konfiguration bestand aus 1x Standard_Ls_v2-Instanz für die Controller-VM und 20x Standard_Ls_v2-Instanzen für die Worker-VMs. Jede Ls_v2 VM bestand aus einem AMD EPYC 7551 32-Core Prozessor, 64 GB Speicher und einer 80 GB Festplatte. Zusätzlich war die Instanz mit einer 1,92 TB NVMe-Festplatte (400000/2000 Read IOPS/MBPs) ausgestattet. Die Netzwerk-BW/Instanz (Mbit/s) betrug 4/3200 und der Speicherdurchsatz/BW (Cache-Größe) betrug 8000/160 (200).

Preispunkte

Die Preisangaben stammen aus https://azure.microsoft.com/en-us/pricing/calculator/ und https://azure.microsoft.com/en-us/pricing/details/databricks/. Preisgestaltung zum Zeitpunkt der Tests.

VM-Stundenpreise

Azure VM Stundenkosten
Standard_E8s_v3 - Intel Xeon Platinum 8171M Prozessoren der 1. Generation 0,532 USD
Standard_E8ds_v4 - Intel Xeon Platinum 8272CL Prozessoren der 2. Generation 0,576 USD
Standard_E8as_v4 - AMD EPYC™ 7452 Prozessor der 2. Generation 0,504 USD
Standard_Ls_v2 - AMD EPYC™ 7551 Prozessor der 1. Generation 0,624 USD

Fazit

Unsere Databricks-Tests mit einem entscheidungsunterstützenden Benchmark liefern Informationen, die Unternehmen bei der Entscheidung über Leistung und Kosten für den Betrieb ihrer Workloads in der Cloud helfen können. Wenn Sie versuchen, die besten Instanzen für Ihre entscheidungsunterstützenden Datenbank-Workloads zu finden, kann die große Auswahl überwältigend erscheinen. Unsere Tests zeigen, dass die Auswahl neuerer VMs sowohl eine bessere Leistung als auch einen besseren Wert bieten kann. Darüber hinaus übertrafen die von Intel unterstützten VMs in unseren Tests die AMD-VMs der gleichen Generation. Wählen Sie für Ihre entscheidungsunterstützenden Datenbank-Workloads die E8ds_v4 VMs, um das Beste für Ihr Geld zu bekommen.