Was passiert mit dem Z-Ordering, wenn neue Daten hinzugefügt werden?

In Delta Lake bzw. Databricks ist Z-Ordering kein dauerhafter Zustand, sondern eine Optimierung, die nur auf die Dateien angewendet wird, die zum Zeitpunkt der Ausführung vorhanden sind.

Wenn nach einem OPTIMIZE ... ZORDER BY (...) neue Daten in die Tabelle geschrieben werden, stellt sich häufig die Frage, ob die neuen Datensätze automatisch ebenfalls von dieser Optimierung profitieren.

Die Antwort lautet: Nein.

Bestehende Dateien bleiben optimiert

Nach der Ausführung von:

OPTIMIZE sales_data
ZORDER BY (customer_id);

werden die vorhandenen Dateien physisch neu angeordnet. Diese Optimierung bleibt bestehen.

Neue Daten werden nur angehängt

Werden später neue Daten geladen:

INSERT INTO sales_data
SELECT * FROM new_sales;

entstehen zusätzliche Dateien, die nicht automatisch z-orderiert werden.

Dadurch gilt:

  • Bereits optimierte Dateien bleiben unverändert.
  • Neue Dateien werden lediglich angehängt.
  • Die Gesamtperformance kann mit der Zeit wieder sinken.

Warum ist das wichtig?

Z-Ordering verbessert vor allem das Data Skipping. Wenn immer mehr unoptimierte Dateien hinzukommen, müssen bei Abfragen wieder mehr Dateien gelesen werden.

Besonders bei:

  • großen Delta-Tabellen,
  • häufigen Datenladungen,
  • täglichen oder stündlichen ETL-Prozessen

sollte die Tabelle regelmäßig neu optimiert werden.

Lösung: Z-Ordering erneut ausführen

OPTIMIZE sales_data
ZORDER BY (customer_id);

Dadurch werden auch die neu hinzugefügten Dateien wieder entsprechend organisiert.

Empfehlung

Bei Tabellen mit kontinuierlichem Wachstum sollte OPTIMIZE ZORDER BY als Bestandteil des Wartungsprozesses eingeplant werden. Viele Unternehmen führen diese Optimierung beispielsweise täglich oder wöchentlich aus.

Fazit

Neue Daten zerstören das bestehende Z-Ordering nicht, werden jedoch nicht automatisch mit einbezogen. Um dauerhaft von schnellen Abfragen zu profitieren, sollte das Z-Ordering regelmäßig erneut ausgeführt werden.

Weitere Artikel zum Thema Databricks

🎥 Weitere Tutorials zu Databricks, Azure Synapse, Power BI und SQL finden Sie auch auf meinem YouTube-Kanal:

https://www.youtube.com/@datenanalyst

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert