Mesterséges intelligencia, magyarul.
Az eredeti közleményekből.

UNIQUE megszorításokkal gyorsítja a lekérdezéseket a Databricks

2026. november 3. 22:00Forrás: Databricks
UNIQUE megszorításokkal gyorsítja a lekérdezéseket a Databricks
Kép: Databricks

A Databricks új UNIQUE megszorításai több, akár összetett vagy NULL értéket is engedő egyediségi garancia rögzítését teszik lehetővé. A RELY beállítással a lekérdezésoptimalizáló felesleges összekapcsolásokat és aggregációkat hagyhat el.

A lényeg röviden
  • A UNIQUE több, akár összetett és NULL értéket engedő egyediségi garanciát rögzíthet.
  • A funkció Public Preview-ban érhető el Unity Catalog Delta táblákhoz.
  • A RELY-val megjelölt megszorításokat a lekérdezésoptimalizáló is felhasználhatja.
  • A TPC-DS mérésben a JOIN elhagyása 7,9-szeres gyorsulást hozott.
  • A Databricks szerint a UNIQUE és RELY akár 12-szer gyorsabb lekérdezéseket tehet lehetővé.

Több egyediségi garancia egy táblában

A Databricks 2026. november 3-i bejelentése szerint a UNIQUE megszorítások Public Preview változatban érhetők el a Unity Catalog Delta tábláihoz, Databricks SQL-ben és a Databricks Runtime 18.2-es vagy újabb verzióiban. A funkció a táblák sémájában rögzíti azokat az egyediségi garanciákat, amelyeket az adatbetöltési folyamatok, a forrásrendszerek vagy más adatminőségi eljárások tartanak fenn.

A PRIMARY KEY egy tábla elsődleges sorazonosítója, és egy táblához csak egy adható meg. Az oszlopai nem lehetnek NULL értékűek. A UNIQUE ezzel szemben további egyediségi garanciákat ír le, egy táblán belül több is deklarálható, és az érintett oszlopok engedhetnek NULL értéket.

Egy users tábla például a user_id oszlopot használhatja elsődleges kulcsként, miközben a username, az email, illetve a workspace_id és external_user_id páros is egyedi. Az összetett UNIQUE megszorítás azt jelenti, hogy a két oszlop kombinációja nem ismétlődhet, még akkor sem, ha az egyes értékek külön-külön több párosban is előfordulhatnak.

A megszorításokat külön kell ellenőrizni

A UNIQUE megszorítások a PRIMARY KEY és FOREIGN KEY megszorításokhoz hasonlóan tájékoztató jellegűek. A Databricks íráskor nem kényszeríti ki őket, így egy ismétlődő, nem NULL értéket tartalmazó adatbetöltés nem fog automatikusan meghiúsulni. Cserébe a séma megőrzi az egyediségi elvárást, amelyet a felhasználók, az eszközök és az alkalmazások is felderíthetnek.

A UNIQUE megszorításokra FOREIGN KEY is hivatkozhat. Összetett kulcs esetén a hivatkozott szülőoszlopokat ugyanabban a sorrendben kell felsorolni, mint a UNIQUE definíciójában. Az oszlopnevek eltérhetnek, de a sorrendnek és az adattípusoknak egyezniük kell. Ha a szülőoszlopokat nem adják meg, a hivatkozás alapértelmezés szerint a tábla PRIMARY KEY értékére mutat.

A megszorítás alapértelmezett állapota a NORELY. Ilyenkor a Databricks rögzíti a séma jelentését, de a lekérdezések helyességétől függő átírásokhoz nem használja fel. A RELY beállítást csak az adatok ellenőrzése és a garancia folyamatos fenntartásának biztosítása után ajánlja a Databricks.

A RELY csökkentheti az összekapcsolások költségét

A RELY nem ellenőrzi a meglévő adatokat, és a jövőbeli írásokat sem korlátozza. Azt engedi meg az optimalizálónak, hogy érvényesnek feltételezze a megszorítást. Ha az adatok mégis megsértik a RELY-val megjelölt garanciát, az erre épülő lekérdezés-átírás hibás eredményt adhat. Az optimalizálás Photon-kompatibilis számítási erőforrásokon érhető el.

A Databricks egy olyan példát is bemutat, amelyben egy közös nézet a user_events és users táblát kapcsolja össze, miközben egy adott irányítópultnak csak a user_events adataira van szüksége. A UNIQUE és a FOREIGN KEY együttesen garantálhatja, hogy minden eseményhez legfeljebb egy megfelelő felhasználói sor tartozik, és a kapcsolat létezik. Ilyenkor az optimalizáló elhagyhatja a felesleges JOIN műveletet.

A TPC-DS SF10000, 10 terabájtos skálát képviselő adathalmazán a 28,8 milliárd soros store_sales táblát és a 65 millió soros customer táblát vizsgálták. A RELY-val megjelölt megszorítások mellett a Databricks eltávolította az összekapcsolást, a kevert adatok mennyisége több mint 99,99 százalékkal csökkent, a medián végrehajtási idő pedig 23,6 másodpercről 3,0 másodpercre esett, ami 7,9-szeres gyorsulás.

A DISTINCT is elhagyható lehet

A BI-eszközök és lekérdezésépítők gyakran védekezésként DISTINCT műveletet adnak a lekérdezésekhez, mert egy JOIN ismétlődő sorokat eredményezhet. Ha a kiválasztott értékek már eleve egyediek, a DISTINCT nem távolít el semmit, de aggregációt és adatkeverést igényelhet. A RELY-val megjelölt UNIQUE megszorítás bizonyíthatja, hogy erre nincs szükség.

A Databricks példájában a user_identifiers táblában a user_id nem NULL és UNIQUE, az optional_identifier pedig NULL értékeket is engedő UNIQUE oszlop. Az optimalizáló a user_id egyediségét és a nem NULL garanciát együtt használhatja, ezért elhagyhatja az aggregációt. A cég 10 terabájtos TPC-DS mérései szerint a UNIQUE és RELY használata több mint 99,99 százalékkal csökkentette az adatkeverést, és a lekérdezések akár 12-szer gyorsabban futhattak.

A funkció így azoknak a csapatoknak lehet hasznos, amelyek már fenntartanak egyediségi szabályokat az adatfolyamokban, de ezeket eddig nem tudták rögzíteni a táblák sémájában. A teljesítményelőny feltétele, hogy a deklarált garanciákat előzetesen ellenőrizzék, majd folyamatosan fenntartsák.

Kövesd az AI Hírek oldalát a FacebookonA legfontosabb MI-hírek magyarul, rögtön a megjelenés után a hírfolyamodban.Követem

Kapcsolódó hírek

Natív OpenTelemetry-támogatást kapott a Claude a Databricks MLflow-ban
Fejlesztőknek2026. november 3. 22:00

Natív OpenTelemetry-támogatást kapott a Claude a Databricks MLflow-ban

A Claude Platform natív OpenTelemetry-exportja nyilvános bétában elérhetővé vált a Databricks MLflow számára. A fejlesztők így az Anthropic SDK-k, a Messages API és a…

Új adatforrásokkal és Microsoft-integrációkkal bővült a Hebbia
Termékek és eszközök2026. november 3.

Új adatforrásokkal és Microsoft-integrációkkal bővült a Hebbia

A Hebbia novemberi frissítései közös munkára használható irányítópultokat, Microsoft Office-integrációkat és mobilos együttműködést hoznak. A platform új adatforrásokkal…

A Databricks Lakebase Postgres élesben is elérhető a Google Cloudon
Termékek és eszközök2026. november 2. 15:26

A Databricks Lakebase Postgres élesben is elérhető a Google Cloudon

A Databricks általánosan elérhetővé tette a teljesen menedzselt, serverless Lakebase Postgrest a Google Cloudon. A szolgáltatás a tranzakciós és elemzési adatokat közös…