Lernen  /  Leitfäden

DuckDB, Polars oder Spark 2026: welche Engine für Ihre Daten, mit Benchmarks

Alle drei haben in den letzten drei Wochen große Releases veröffentlicht. Wir haben dieselben Abfragen auf derselben Maschine ausgeführt und daraus eine einfache Regel gemacht: welche Engine wann passt und wann sich Spark seinen Aufwand noch lohnt.

Leitfaden10 Min. LesezeitAktualisiert am 9 November 2026
PythonSQLDatenbankenDatenanalyse
Alle Leitfäden und Spickzettel

Der Oktober 2026 war ein voller Monat für Daten-Engines. DuckDB 2.0 erschien am 21. Oktober als Version mit Langzeit-Support, Polars 2.1 am 25. Oktober und Apache Spark 4.3 am 30. Oktober. Alle drei sind kostenlos und Open Source, lesen Parquet und Apache Iceberg und sprechen inzwischen SQL. Welche also nehmen? Wir haben die neuen Versionen installiert, dieselben Abfragen auf denselben 20 Millionen Zeilen ausgeführt und festgehalten, was wir gelernt haben.

0.20SekundenDuckDB, Join und Group-by auf 20 Mio. Zeilen
0.35SekundenPolars, Group-by über 50.000 Schlüssel
5.3Sekundenzum Start einer lokalen Spark-Session
1MillisekundeDuckDB oder Polars bei einer Mini-Abfrage

Drei Engines, drei Konzepte

DuckDB 2.0

SQL-Datenbank in einer Datei
Lizenz
MIT
Stil
zuerst SQL, mit Clients für Python, R, Java und Node
Läuft
in Ihrem Prozess, jetzt auch als kleiner Server (Quack)
  • Hervorragendes SQL: ASOF- und NEAREST-Joins, Trigger, MERGE, ein schneller VARIANT-Typ für JSON
  • Liest Parquet, CSV, JSON, Iceberg, Delta und DuckLake, lokal oder aus dem Cloud-Speicher
  • Langzeit-Support mindestens bis Oktober 2027
  • Nur eine Maschine; sehr große Shuffles brauchen weiterhin Sorgfalt

Ideal für SQL-Nutzer, Notebooks, Dashboard-Backends und lokale Analysen.

Polars 2.1

DataFrame-Bibliothek
Lizenz
MIT
Stil
Python-Ausdrücke, dazu eine wachsende SQL-Schnittstelle
Läuft
in Ihrem Prozess, standardmäßig mit Streaming-Engine
  • Schnell, streng und vorhersehbar: Typen und Fehler sind explizit
  • Group-bys können auf die Festplatte auslagern, wenn der Speicher knapp wird
  • Schreibt und verwaltet Iceberg-Tabellen
  • Braucht Python 3.11 oder neuer; einige neue APIs sind instabil

Ideal für Python-Entwickler, die pandas ersetzen.

Spark 4.3

Verteilte Engine
Lizenz
Apache 2.0
Stil
SQL, PySpark-DataFrames, Scala und Java
Läuft
auf Clustern, über Databricks, Fabric, EMR, Dataproc oder eigene
  • Skaliert über viele Maschinen, bis zu Hunderten Terabyte
  • Echtzeit-Streaming mit Zustand, jetzt um 150 ms P99
  • Der Standard auf Databricks und Microsoft Fabric
  • Sekunden an Startzeit und Fixkosten pro Abfrage bei kleinen Daten

Ideal, wenn eine Maschine nicht reicht.

Der Benchmark

Wir haben eine Parquet-Datei mit 20 Millionen Verkaufszeilen (236 MB, vier Spalten) und eine kleine Tabelle mit 1.000 Filialen erzeugt und dann in jeder Engine zwei Abfragen ausgeführt, wobei die Parquet-Dateien jedes Mal neu gelesen wurden. Angegeben ist der schnellste von drei Läufen. Die Maschine war eine bescheidene Cloud-VM mit 2 CPU-Kernen und 7 GB Speicher; die absoluten Zahlen werden bei Ihnen anders sein, entscheidend ist die Reihenfolge.

Umsatz pro Produkt: Group-by auf 20 Mio. Zeilen, 50.000 Gruppen
Polars 2.10,35 s
DuckDB 2.00,39 s
pandas 3.11,03 s
Spark 4.31,25 s

Schnellster von 3 Läufen. DuckDB 2.0.0, Polars 2.1.0, pandas 3.1.0, PySpark 4.3.0 im lokalen Modus mit 2 Kernen. Jeder Lauf liest die Parquet-Datei.

Umsatz pro Region: Join mit Filialen, dann Group-by
DuckDB 2.00,20 s
Polars 2.10,48 s
pandas 3.11,62 s
Spark 4.31,83 s

Gleiche Maschine und Methode. Der Join fügt 20 Millionen Verkaufszeilen 1.000 Filialzeilen hinzu.

Das Bild ist eindeutig. Auf einer Maschine spielen DuckDB und Polars in einer eigenen Liga, und welche schneller ist, hängt von der Abfrage ab: Polars lag bei der Aggregation mit vielen Gruppen knapp vorn, DuckDB war beim Join mehr als doppelt so schnell. pandas, das zuerst alles in den Speicher lädt, war 2,5- bis 8-mal langsamer. Spark war hier am langsamsten, was zu erwarten ist: Es ist dafür gebaut, Arbeit auf viele Maschinen zu verteilen, und auf zwei Kernen misst man vor allem seinen Koordinationsaufwand.

Kleine Abfragen: wo der Fixaufwand sichtbar wird

Eine Mini-Abfrage: Zeilen pro Kategorie in einer Datei mit 900 Zeilen zählen
0,9 msPolars
1,3 msDuckDB
53 msSpark, Feather an
85 msSpark, Standard

Die neue Einstellung Project Feather in Spark 4.3 senkte die Mini-Abfrage von 85 auf 53 ms, weil der Shuffle entfällt, eine echte Verbesserung zum Testen von Code an Stichproben. DuckDB und Polars antworten aber in etwa einer Millisekunde, und der Start einer lokalen Spark-Session dauerte 5,3 Sekunden, bevor überhaupt eine Abfrage lief. Wenn Ihre Daten auf einen Laptop passen, summiert sich dieser Unterschied den ganzen Tag.

Mehr als Geschwindigkeit

DuckDB 2.0Polars 2.1Spark 4.3
HauptschnittstelleSQLPython-AusdrückeSQL und PySpark
Größer als der SpeicherJa, lagert auf Festplatte ausJa, Streaming-Engine und auslagernde Group-bysJa, über einen Cluster
Größer als eine MaschineNeinNein (Open Source)Ja
StreamingNeinStapelweises Streaming großer DateienJa, auch in Echtzeit mit Zustand
Offene TabellenformateIceberg, Delta, DuckLakeIceberg lesen und schreiben, DeltaIceberg und Delta, die Referenz-Engine
Gemeinsamer ZugriffNeuer Servermodus QuackNur im ProzessSpark Connect, Mehrbenutzer-Cluster
KI-Coding-AgentenAgentenmodus in der CLI spart Ausgabe-TokensKlare Fehler, strenge TypenFeather beschleunigt die Testen-und-Korrigieren-Schleife

So entscheiden Sie

  1. 1

    Schätzen Sie Ihre größte Tabelle

    Unter etwa 100 GB Parquet reicht meist eine Maschine mit DuckDB oder Polars. Im Terabyte-Bereich oder bei schnellem Wachstum planen Sie Spark oder ein Cloud-Warehouse ein.

  2. 2

    Wählen Sie nach der Sprache des Teams

    SQL-Nutzer sind in DuckDB nach einer Stunde produktiv. Python-Entwickler bevorzugen die Ausdrücke von Polars.

  3. 3

    Prüfen Sie, wo der Job läuft

    Nutzt Ihr Unternehmen Databricks oder Microsoft Fabric, ist Spark bereits vorhanden und verwaltet, und kleine Jobs können trotzdem DuckDB oder Polars in denselben Notebooks nutzen.

  4. 4

    Echtzeit nötig? Nehmen Sie Spark

    Weder DuckDB noch Polars verarbeiten Ereignisströme mit Zustand. Spark 4.3 schafft das jetzt mit etwa einer Zehntelsekunde Latenz.

  5. 5

    Halten Sie Daten in offenen Formaten

    Speichern Sie Tabellen als Parquet oder Iceberg, damit Sie die Engine später ohne Datenmigration wechseln können.

Testen Sie Ihr Wissen

1/3Welche Engine war in unserem Join-und-Group-by-Test auf 20 Millionen Zeilen am schnellsten?

2/3Wann ist Spark die richtige Wahl statt DuckDB oder Polars?

3/3Was macht Project Feather in Spark 4.3?

Weiterlesen: DuckDB 2.0, Polars 2.1, Spark 4.3, der Polars-Spickzettel und wie man eine Datenbank auswählt.

Quellen: Ankündigung von DuckDB 2.0.0 (21. Oktober 2026), Release Notes zu Polars 2.1 (25. Oktober 2026) und Apache Spark 4.3.0 (30. Oktober 2026). Die Benchmarks sind unsere eigenen, ausgeführt am 9. November 2026 auf einer Cloud-VM mit 2 Kernen und 7 GB mit synthetischen Daten; sie sind Richtwerte und ersetzen keinen Test mit Ihrer eigenen Last.

Alessandro Ecclesie AgazziGeschrieben von Alessandro Ecclesie Agazzi, Analytics Engineer in London. Aktualisiert am 9 November 2026. Über mich

War das hilfreich?

Hier erscheinen regelmäßig neue Leitfäden und Artikel zu Neuigkeiten rund um Daten und KI. Folgen Sie mir auf LinkedIn oder teilen Sie diesen Artikel mit Kollegen.