Definition: Late Materialization

Als Late Materialization bezeichnen wir eine Technik in spaltenorientierten Datenbanken, bei der Daten möglichst spät im Abfrageprozess aus komprimierten Formaten in ihre ursprüngliches Format materialisiert werden.

Dadurch können viele Abfrageoperationen direkt auf den komprimierten Daten durchgeführt werden, was die Effizienz und Performance der Abfrage verbessert, da weniger Daten dekomprimiert werden müssen und die Speicherbandbreite effektiver genutzt wird.

Hier am Beispiel der Abfrage

SELECT custID, SUM(price)
FROM table 
WHERE (prodID = 4) AND (storeID = 1) 
GROUP BY custID

Anmerkung

Performancegewinn durch Late Materialization

Bei Abfragen ohne Joins bietet Late Materialization einen deutlichen Performancegewinn gegenüber Early Materialization.

Hier aus einer Arbeit von Abadi et al. 2007:

Bei Abfragen mit Joins ist naive Late Materialization um den Faktor langsamer als Early Materialization, weil es zu nicht-sequenziellem Lesen der Daten führt, und random access sehr aufwändig ist.

Es gibt jedoch Verfahren, um diesen Nachteil zu verringern (bspw. Invisible Joins, Jive/Flash Joins, Radix Cluster/Decluster Joins).