AI & Analytics

Databricks: optimaliseren met UNIQUE-constraints

Databricks Blog
Databricks: optimaliseren met UNIQUE-constraints

Samenvatting

Databricks UNIQUE-constraints leggen extra uniciteitsgaranties vast; met RELY werden queries tot 12× sneller.

Wat Databricks UNIQUE-constraints doen

Databricks maakt UNIQUE-constraints beschikbaar als Public Preview voor Unity Catalog Delta-tabellen in Databricks SQL en Databricks Runtime 18.2 en hoger. Teams kunnen meerdere uniciteitsregels vastleggen, ook voor nullable kolommen en combinaties van kolommen. Foreign keys kunnen naar deze regels verwijzen.

Een tabel kan maar één PRIMARY KEY hebben en die sleutel mag geen nullwaarden bevatten. UNIQUE-constraints vullen dat model aan voor bijvoorbeeld een uniek e-mailadres, een gebruikersnaam of de combinatie van workspace_id en external_user_id. De regels zijn informatief: Databricks controleert ze niet automatisch tijdens het schrijven van data.

Waarom Databricks UNIQUE-constraints belangrijk zijn

Datateams leggen uniciteitsgaranties vaak al vast in pipelines, maar zonder schema-definitie blijven die afspraken minder zichtbaar voor gebruikers en tools. Door ze in het schema te registreren, krijgen tabellen een expliciete beschrijving van aanvullende unieke waarden naast hun primaire sleutel.

De optimizer mag deze informatie pas gebruiken nadat het team de regels heeft gevalideerd en met RELY heeft gemarkeerd. Daarna kan Databricks overbodige joins en DISTINCT-aggregaties verwijderen. Dat verandert niet de opgeslagen data, maar wel de manier waarop Databricks een query uitvoert.

De benchmark maakt het effect concreet. In TPC-DS-tests met 10 TB verwijderde UNIQUE met RELY meer dan 99,99 procent van de shuffle en werden queries tot 12× sneller. Die uitkomst geldt voor de beschreven benchmark, niet automatisch voor iedere query of pipeline.

Concrete takeaway voor Databricks UNIQUE-constraints

Breng eerst de uniciteitsgaranties in je pipelines in kaart en leg ze vast als PRIMARY KEY of UNIQUE, afhankelijk van hun rol. Controleer nullable en samengestelde sleutels doorlopend voordat je RELY activeert. Test daarna queryplannen en doorlooptijden, zodat je alleen gevalideerde regels aan de optimizer toevertrouwt.

Lees het volledige artikel
Meer over AI & Analytics →