Home

pushdownoptimisatie

Pushdownoptimalisatie is een verzamelnaam voor technieken die bewerkingen in databank- en data-verwerkingssystemen zo dicht mogelijk bij de oorspronkelijke databron plaatsen, zodat ze daaruit kunnen worden uitgevoerd. Het gaat meestal om selectie (filters) en projecties, maar kan ook joins, aggregaties of sorteringen betreffen. Het doel is minder data te lezen, minder tussenresultaten te produceren en zo de uitvoeringstijd en het resourcegebruik te verlagen.

Werking: in een relationele database of dataflow-omgeving wordt het queryplan geanalyseerd en geconcretiseerd. Bij predicate pushdown

Voordelen en beperkingen: de belangrijkste voordelen zijn minder I/O, minder netwerktransport en lagere geheugengebruik, wat leidt

Toepassingsgebieden omvatten relationele databases, datawarehouses en big data platforms zoals Spark en Flink.

worden
filtervoorwaarden
uit
het
hogere
plan
rechtstreeks
toegepast
bij
de
scans
van
tabellen
of
bij
indextoegang.
Bij
projection
pushdown
worden
alleen
de
gevraagde
kolommen
gelezen.
Bij
columnar
stores
zoals
Parquet
of
ORC
kan
de
data-readingslaag
vaak
reeds
filteren
op
basis
van
de
voorwaarden.
Connectors
naar
externe
systemen
(zoals
JDBC
en
data
lakes)
proberen
deze
pushdown
te
implementeren.
tot
snellere
query's.
Pushdown
is
echter
niet
altijd
mogelijk
of
rendabel:
sommige
operaties
kunnen
niet
of
onveilig
gepusht
worden
(bijv.
functies
met
side
effects,
non-deterministische
bewerkingen,
complexe
subqueries),
en
pushdown
kan
semantische
veranderingen
veroorzaken
bij
NULL-waarden
of
bij
veranderende
data.
De
daadwerkelijke
beslissing
vereist
afstemming
door
de
query-optimizer.