In vrijwel elke data warehouse omgeving kom je in de ETL code zogenaamde “key look-ups” tegen. Deze key look-ups zijn nodig omdat we in een data warehouse bronsleutels omzetten naar eigen data warehouse sleutels. Dit wordt ook wel key rationalisatie genoemd.
Nu kost elke key look-up wat tijd in het ETL proces, en er zijn nieuwe ontwikkelingen om deze key look-ups te vermijden.
Hash keys
Met behulp van een algoritme is het mogelijk sleutelgegevens uit de bron om te zetten naar een betekenisloze sleutel die van tevoren te voorspellen is. Een hash key op basis van bijvoorbeeld het MD5 of SH1 algoritme.
Een praktisch voorbeeld is een “key look-up” van orders naar sales channels. Op basis van de code van een verkoopkanaal wordt de betekenisloze DW sleutel opgezocht.
In het geval dat we de bronsleutel (of business key) met behulp van een hashing algoritme hebben omgezet naar een betekenisloze DW sleutel, dan kan dat ook worden gedaan om de verwijzende sleutel van de orders naar de sales channels te bepalen.
De key look-up is dan niet meer nodig. Dat kan best veel tijdsbesparing opleveren, omdat het lezen van data nog steeds de duurste operatie is in een data warehouse omgeving (I/O). Het hashen kost ook wel wat tijd, maar dat is vooral CPU tijd, en die vormt veelal geen bottleneck.
Keerzijde van het gebruik van een hash key is iets meer schijfruimte, dus een kleine overhead bij het lezen en schrijven van data. Maar normaal gesproken is dit verlies vele malen kleiner dan winst van het besparen van key look-ups.