Članki

Kaj so vektorske baze podatkov, kako delujejo in potencialni trg

Vektorska baza podatkov je vrsta baze podatkov, ki shranjuje podatke kot visokodimenzionalne vektorje, ki so matematične predstavitve funkcij ali atributov. 

Ti vektorji so običajno ustvarjeni z uporabo neke vrste funkcije vdelave neobdelanih podatkov, kot so besedilo, slike, zvok, video in drugi.

Vektorske baze podatkov so lahko definite kot orodje, ki indeksira in shranjuje vdelane vektorje za hitro iskanje in iskanje podobnosti, s funkcijami, kot sta filtriranje metapodatkov in horizontalno skaliranje.

Predvideni čas branja: 9 min

Naraščajoče zanimanje vlagateljev

V zadnjih tednih se je povečalo zanimanje vlagateljev za vektorske baze podatkov. Od začetka leta 2023 smo opazili, da:

Oglejmo si podrobneje, kaj so vektorske baze podatkov.

Vektorji kot predstavitev podatkov

Vektorske zbirke podatkov so v veliki meri odvisne od vdelave vektorjev, vrste predstavitve podatkov, ki v sebi nosi semantične informacije, ki so ključne za AI, da pridobi razumevanje in ohrani dolgoročni spomin, ki ga lahko uporabi pri izvajanju zapletenih dejavnosti. 

Vdelani vektorji

Vektorski vdelavi so kot zemljevid, vendar namesto da bi nam pokazali, kje so stvari na svetu, nam pokažejo, kje so stvari v nečem, kar se imenuje vektorski prostor. Vektorski prostor je nekakšno veliko igrišče, kjer ima vse svoje mesto za igro. Predstavljajte si, da imate skupino živali: mačko, psa, ptico in ribo. Za vsako sliko lahko ustvarimo vektorsko vdelano sliko tako, da ji damo poseben položaj na igrišču. Mačka je lahko v enem kotu, pes na drugi strani. Ptica je lahko na nebu in riba v ribniku. Ta kraj je večdimenzionalen prostor. Vsaka dimenzija ustreza njihovim različnim vidikom, na primer ribe imajo plavuti, ptice imajo krila, mačke in psi imajo noge. Drug njihov vidik je morda ta, da ribe pripadajo vodi, ptice predvsem nebu, mačke in psi pa tlom. Ko imamo te vektorje, jih lahko z matematičnimi tehnikami razvrstimo v skupine glede na njihovo podobnost. Na podlagi informacij, ki jih imamo,

Torej so vektorske vdelave kot zemljevid, ki nam pomaga najti podobnosti med stvarmi v vektorskem prostoru. Tako kot nam zemljevid pomaga pri krmarjenju po svetu, vektorski vdelavi pomagajo pri krmarjenju po vektorskem igrišču.

Ključna ideja je, da imajo vdelani elementi, ki so si pomensko podobni, manjšo razdaljo med seboj. Da ugotovimo, kako podobni sta si, lahko uporabimo funkcije vektorske razdalje, kot so evklidska razdalja, kosinusna razdalja itd.

Vektorske zbirke podatkov proti vektorskim knjižnicam

Vektorske knjižnice shranite vdelave vektorjev v indekse v pomnilniku, da lahko izvedete iskanje po podobnosti. Vektorske knjižnice imajo naslednje značilnosti/omejitve:

  1. Shranjujte samo vektorje : Vektorske knjižnice shranjujejo samo vdelave vektorjev in ne povezanih objektov, iz katerih so bili ustvarjeni. To pomeni, da bo vektorska knjižnica ob našem poizvedovanju odgovorila z ustreznimi vektorji in ID-ji objektov. To je omejujoče, saj so dejanske informacije shranjene v objektu in ne v ID-ju. Da bi rešili to težavo, bi morali predmete shraniti v sekundarni pomnilnik. Nato lahko uporabimo ID-je, ki jih vrne poizvedba, in jih povežemo s predmeti, da razumemo rezultate.
  2. Indeksni podatki so nespremenljivi : Indeksi, ki jih ustvarijo vektorske knjižnice, so nespremenljivi. To pomeni, da ko uvozimo svoje podatke in zgradimo indeks, ne moremo narediti nobenih sprememb (brez novih vstavkov, izbrisov ali sprememb). Če želite spremeniti naš indeks, ga bomo morali znova zgraditi iz nič
  3. Poizvedba med omejevanjem uvoza : po večini vektorskih knjižnic ni mogoče poizvedovati med uvažanjem podatkov. Najprej moramo uvoziti vse naše podatkovne objekte. Torej je indeks ustvarjen po uvozu predmetov. To je lahko težava za aplikacije, ki zahtevajo uvoz milijonov ali celo milijard predmetov.

Na voljo je veliko knjižnic za vektorsko iskanje: FAISS iz Facebooka, Nadležen od Spotify in ScanNN s strani Googla. FAISS uporablja metodo združevanja v gruče, Annoy uporablja drevesa in ScanNN uporablja vektorsko stiskanje. Za vsakega obstaja kompromis glede zmogljivosti, ki ga lahko izberemo glede na našo aplikacijo in meritve učinkovitosti.

CRUD

Glavna značilnost, po kateri se vektorske zbirke podatkov razlikujejo od vektorskih knjižnic, je možnost arhiviranja, posodabljanja in brisanja podatkov. Vektorske baze podatkov imajo podporo za CRUD popolno (ustvarjanje, branje, posodabljanje in brisanje), ki rešuje omejitve vektorske knjižnice.

  1. Arhivski vektorji in objekti : Baze podatkov lahko hranijo tako podatkovne objekte kot vektorje. Ker sta oba shranjena, lahko kombiniramo vektorsko iskanje s strukturiranimi filtri. Filtri nam omogočajo, da se prepričamo, da se najbližji sosedje ujemajo s filtrom metapodatkov.
  2. Spremenljivost : kot vektorske zbirke podatkov v celoti podpirajo crud, lahko enostavno dodamo, odstranimo ali posodobimo vnose v našem indeksu, potem ko je bil ustvarjen. To je še posebej uporabno pri delu s stalno spreminjajočimi se podatki.
  3. Iskanje v realnem času : Za razliko od vektorskih knjižnic nam baze podatkov omogočajo poizvedovanje in spreminjanje podatkov med postopkom uvoza. Ko naložimo na milijone predmetov, ostanejo uvoženi podatki v celoti dostopni in operativni, zato vam ni treba čakati, da se uvoz zaključi, da začnete delati na tem, kar je že tam.

Skratka, vektorska podatkovna zbirka zagotavlja vrhunsko rešitev za ravnanje z vdelanimi vektorji z obravnavanjem omejitev samostojnih vektorskih indeksov, kot je razloženo v prejšnjih točkah.

Toda zakaj so vektorske baze podatkov boljše od tradicionalnih baz podatkov?

Vektorske baze podatkov proti tradicionalnim bazam podatkov

Tradicionalne baze podatkov so zasnovane za shranjevanje in pridobivanje strukturiranih podatkov z uporabo relacijskih modelov, kar pomeni, da so optimizirane za poizvedbe, ki temeljijo na stolpcih in vrsticah podatkov. Medtem ko je mogoče shraniti vdelave vektorjev v tradicionalnih zbirkah podatkov, te baze podatkov niso optimizirane za vektorske operacije in ne morejo učinkovito izvajati iskanja podobnosti ali drugih kompleksnih operacij na velikih nizih podatkov.

To je zato, ker tradicionalne baze podatkov uporabljajo tehnike indeksiranja, ki temeljijo na preprostih vrstah podatkov, kot so nizi ali številke. Te tehnike indeksiranja niso primerne za vektorske podatke, ki imajo visoko dimenzionalnost in zahtevajo posebne tehnike indeksiranja, kot so obrnjeni indeksi ali prostorska drevesa.

Poleg tega tradicionalne baze podatkov niso zasnovane za obdelavo velikih količin nestrukturiranih ali polstrukturiranih podatkov, ki so pogosto povezani z vdelanimi vektorji. Na primer, slika ali zvočna datoteka lahko vsebuje na milijone podatkovnih točk, ki jih tradicionalne zbirke podatkov ne morejo učinkovito obravnavati.

Po drugi strani pa so vektorske baze podatkov posebej zasnovane za shranjevanje in pridobivanje vektorskih podatkov ter so optimizirane za iskanje podobnosti in druge zapletene operacije na velikih zbirkah podatkov. Uporabljajo specializirane tehnike indeksiranja in algoritme, zasnovane za delo z visokodimenzionalnimi podatki, zaradi česar so veliko učinkovitejše od tradicionalnih baz podatkov za shranjevanje in pridobivanje vektorskih vdelav.

Zdaj, ko ste prebrali toliko o vektorskih bazah podatkov, se morda sprašujete, kako delujejo? Pa si poglejmo.

Kako deluje vektorska zbirka podatkov?

Vsi vemo, kako delujejo relacijske baze podatkov: shranjujejo nize, števila in druge vrste skalarnih podatkov v vrsticah in stolpcih. Po drugi strani vektorska baza podatkov deluje na vektorjih, zato je način optimizacije in poizvedovanja precej drugačen.

V tradicionalnih bazah podatkov običajno iščemo vrstice v bazi podatkov, kjer se vrednost običajno natančno ujema z našo poizvedbo. V vektorskih bazah podatkov uporabimo metriko podobnosti, da poiščemo vektor, ki je najbolj podoben naši poizvedbi.

Vektorska zbirka podatkov uporablja kombinacijo več algoritmov, ki vsi sodelujejo pri iskanju najbližjega soseda (ANN). Ti algoritmi optimizirajo iskanje z zgoščevanjem, kvantizacijo ali iskanjem na podlagi grafov.

Ti algoritmi so sestavljeni v cevovod, ki zagotavlja hitro in natančno iskanje sosedov poizvedovanega vektorja. Ker vektorska zbirka podatkov zagotavlja približne rezultate, so glavni kompromisi, ki jih upoštevamo, med natančnostjo in hitrostjo. Bolj kot je rezultat natančen, počasnejša bo poizvedba. Vendar lahko dober sistem zagotovi izjemno hitro iskanje s skoraj popolno natančnostjo.

  • Indeksiranje : Baza podatkov vektorjev indeksira vektorje z algoritmom, kot je PQ, LSH ali HNSW. Ta korak poveže vektorje s podatkovno strukturo, kar bo omogočilo hitrejše iskanje.
  • Poizvedba : vektorska zbirka podatkov primerja indeksirani vektor poizvedbe z indeksiranimi vektorji v naboru podatkov, da najde najbližje sosede (uporabi metriko podobnosti, ki jo uporablja ta indeks)
  • Naknadna obdelava : V nekaterih primerih vektorska zbirka podatkov pridobi končne najbližje sosede iz nabora podatkov in jih naknadno obdela, da vrne končne rezultate. Ta korak lahko vključuje ponovno razvrstitev najbližjih sosedov z uporabo drugačne mere podobnosti.

koristi

Vektorske baze podatkov so močno orodje za iskanje podobnosti in druge zapletene operacije na velikih nizih podatkov, ki jih ni mogoče učinkovito izvesti z uporabo tradicionalnih baz podatkov. Za izgradnjo funkcionalne vektorske baze podatkov so vdelave bistvenega pomena, saj zajamejo semantični pomen podatkov in omogočajo natančno iskanje podobnosti. Za razliko od vektorskih knjižnic so vektorske baze podatkov zasnovane tako, da ustrezajo našemu primeru uporabe, zaradi česar so idealne za aplikacije, kjer sta zmogljivost in razširljivost kritični. Z vzponom strojnega učenja in umetne inteligence postajajo vektorske baze podatkov vse pomembnejše za široko paleto aplikacij, vključno s sistemi priporočil, iskanjem slik, semantično podobnostjo in seznam se lahko nadaljuje. Ker se področje še naprej razvija, lahko pričakujemo, da bomo v prihodnosti videli še več inovativnih aplikacij vektorskih baz podatkov.

Ercole Palmeri

Glasilo o inovacijah
Ne zamudite najpomembnejših novic o inovacijah. Prijavite se, če jih želite prejemati po e-pošti.

Nedavni članki

Založniki in OpenAI podpisujejo sporazume za urejanje pretoka informacij, ki jih obdeluje umetna inteligenca

Prejšnji ponedeljek je Financial Times objavil dogovor z OpenAI. FT licencira svoje vrhunsko novinarstvo ...

April 30 2024

Spletna plačila: Evo, kako vam storitve pretakanja omogočajo večno plačevanje

Milijoni ljudi plačujejo storitve pretakanja in plačujejo mesečne naročnine. Splošno mnenje je, da si…

April 29 2024

Veeam ponuja najobsežnejšo podporo za izsiljevalsko programsko opremo, od zaščite do odziva in obnovitve

Coveware by Veeam bo še naprej zagotavljal storitve odzivanja na incidente kibernetskega izsiljevanja. Coveware bo nudil forenziko in zmogljivosti sanacije ...

April 23 2024

Zelena in digitalna revolucija: kako predvideno vzdrževanje preoblikuje naftno in plinsko industrijo

Prediktivno vzdrževanje revolucionira sektor nafte in plina z inovativnim in proaktivnim pristopom k upravljanju obratov.…

April 22 2024