NEAREST BY: natív SQL-joinnal gyorsítja a kötegelt vektorkeresést a Databricks

A Databricks új, NEAREST BY nevű SQL-joinnal teszi első osztályú műveletté a kötegelt vektorkeresést. A megoldás nagy mennyiségű lekérdezési és bázisvektor összevetésére készült, pontos és közelítő módban is.
- A NEAREST BY kötegelt vektorkeresést valósít meg SQL-joinként.
- A rendszer EXACT és APPROX módban is használható.
- A Photon natív SIMD-kódot és összevont GEMM-kernelt futtat.
- Az IVF-index liquid-clustered Delta-tábla formájában készül.
- A vektoradatok külön vektortároló nélkül a Lakehouse-ban maradhatnak.
A kötegelt keresés más problémát jelent
A Databricks 2026. október 5-én bemutatott megoldása azokra a feladatokra céloz, amelyeknél egyszerre milliónyi vektort kell összevetni milliónyi vagy akár milliárdnyi másik vektorral. Ilyen lehet az entitásfeloldás, a duplikátumok felismerése, a szemantikus címkézés, az osztályozás, az adatrekordok kiegészítése vagy a kötegelt ajánlás.
A vállalat példái között szerepel egy fizetési cég, amely naponta több mint 100 millió tranzakciót vet össze 140 millió kereskedői beágyazással, egy adatszolgáltató, amely több tízmillió korábbi rekordot dolgoz fel éjszakánként, valamint egy mennyiségi befektetési alap, amely egymilliós lekérdezési kötegeket futtat egy 50 millió vektort tartalmazó korpuszon.
Ezeknél a feladatoknál a siker mércéje a teljes feldolgozás határidőn belüli, elfogadható költségű befejezése. A Databricks ezért a lekérdezésenkénti késleltetés helyett az összesített áteresztőképességre helyezi a hangsúlyt.
A NEAREST BY top-k rangsorolási joinként működik
A NEAREST BY minden bal oldali lekérdezési sorhoz megkeresi a jobb oldali táblában található k legközelebbi sort vektorhasonlóság vagy távolság alapján. A join irányított: a bal oldal vezeti a műveletet, a jobb oldalon történik a keresés. A rangsorolás történhet hasonlóság szerint csökkenő, illetve távolság szerint növekvő sorrendben.
A megoldás támogatja a LEFT OUTER változatot is, amely azokat a lekérdezési sorokat is megtartja, amelyekhez nem található jelölt. Az EXACT mód kimerítő kiértékeléssel garantálja a valódi top-k találatokat, míg az APPROX mód engedélyezi közelítő stratégia, például vektorindex használatát. A Databricks szerint így egy index létrehozása vagy törlése önmagában nem változtatja meg észrevétlenül a lekérdezés eredményét.
A lekérdezést a rendszer logikai joinként értelmezi, majd hagyományos relációs műveletekre bontja. A vállalat szerint ennek köszönhetően a feldolgozás elosztható, lemezre üríthető memóriahiány esetén, és a sikertelen feladatok újrapróbálhatók.
Photon, SIMD és Delta-alapú vektorindex
A Databricks Runtime a Sparkre és a natív C++ alapú Photon lekérdezőmotorra épül. A NEAREST BY-hoz egy összevont Photon-operátort is készítettek, amely egyedi, blokkolt GEMM-kernelt használ a távolságok számítására. A cél, hogy a számítás a hardver aritmetikai teljesítményét és memória-sávszélességét minél jobban kihasználja.
A rendszer vektoros SQL-függvényeket kínál ARRAY<FLOAT> oszlopokhoz. Ide tartozik a vector_inner_product, a vector_cosine_similarity és a vector_l2_distance, továbbá a normák kezelését végző vector_norm és vector_normalize. A vector_sum és vector_avg aggregációs függvények a vektorindex építéséhez is használhatók.
Az opcionális IVF-index hagyományos, liquid-clustered Delta-táblaként készül. A Databricks szerint ez lehetővé teszi, hogy olvasáskor a rendszer a partíciók nagy részét kihagyja, és az APPROX lekérdezések csak a bázisvektorok egy részét pontozzák. A vektorok így a Lakehouse-ban maradhatnak, külön vektortároló és szinkronizációs folyamat nélkül.
Databricks: NEAREST BY Join: Scaling Vector Search in Databricks Runtime


