Artikler

Hvad er vektordatabaser, hvordan de fungerer og potentielt marked

En vektordatabase er en type database, der gemmer data som højdimensionelle vektorer, som er matematiske repræsentationer af funktioner eller attributter. 

Disse vektorer genereres normalt ved at anvende en slags indlejringsfunktion på rådata, såsom tekst, billeder, lyd, video og andre.

Vektordatabaser kan være definite som et værktøj, der indekserer og gemmer vektorindlejringer til hurtig hentning og lighedssøgning, med funktioner som metadatafiltrering og horisontal skalering.

Estimeret læsetid: 9 minutter

Stigende investorinteresse

I de seneste uger har der været en stigning i investorernes interesse for vektordatabaser. Siden begyndelsen af ​​2023 har vi bemærket, at:

Lad os se mere detaljeret, hvad vektordatabaser er.

Vektorer som datarepræsentation

Vektordatabaser er stærkt afhængige af vektorindlejring, en type datarepræsentation, der indeholder den semantiske information, der er afgørende for, at AI kan opnå forståelse og bevare langtidshukommelsen at trække på, når man udfører komplekse aktiviteter. 

Vektor indlejring

Vektorindlejringer er som et kort, men i stedet for at vise os, hvor tingene er i verden, viser de os, hvor tingene er i noget, der hedder vektor rum. Vector space er en slags stor legeplads, hvor alt har sin plads at lege. Forestil dig, at du har en gruppe dyr: en kat, en hund, en fugl og en fisk. Vi kan skabe en vektorindlejring for hvert billede ved at give det en særlig position på legepladsen. Katten kan være i det ene hjørne, hunden på den anden side. Fuglen kunne være på himlen, og fiskene kunne være i dammen. Dette sted er et multidimensionelt rum. Hver dimension svarer til forskellige aspekter af dem, for eksempel har fisk finner, fugle har vinger, katte og hunde har ben. Et andet aspekt af dem kan være, at fisk hører til vandet, fugle hovedsageligt til himlen og katte og hunde til jorden. Når vi har disse vektorer, kan vi bruge matematiske teknikker til at gruppere dem baseret på deres lighed. Baseret på de oplysninger, vi har,

Så vektorindlejringer er som et kort, der hjælper os med at finde ligheder mellem ting i vektorrummet. Ligesom et kort hjælper os med at navigere i verden, hjælper vektorindlejringer med at navigere på vektorlegepladsen.

Nøgleideen er, at indlejringer, der ligner hinanden semantisk, har en mindre afstand mellem dem. For at finde ud af hvor ens de er, kan vi bruge vektorafstandsfunktioner som euklidisk afstand, cosinusafstand osv.

Vektordatabaser vs vektorbiblioteker

Vektorbibliotekerne gemme indlejringer af vektorer i indekser i hukommelsen for at udføre lighedssøgninger. Vektorbiblioteker har følgende egenskaber/begrænsninger:

  1. Gem kun vektorer : Vektorbiblioteker gemmer kun indlejringer af vektorer og ikke de tilknyttede objekter, hvorfra de er genereret. Dette betyder, at når vi forespørger, vil et vektorbibliotek reagere med de relevante vektorer og objekt-id'er. Dette er begrænsende, da den faktiske information er gemt i objektet og ikke id'et. For at løse dette problem bør vi opbevare objekterne i sekundært lager. Vi kan derefter bruge de ID'er, der returneres af forespørgslen, og matche dem med objekter for at forstå resultaterne.
  2. Indeksdata er uforanderlige : Indekser produceret af vektorbiblioteker er uforanderlige. Det betyder, at når vi først har importeret vores data og bygget indekset, kan vi ikke foretage nogen ændringer (ingen nye indsættelser, sletninger eller ændringer). For at foretage ændringer i vores indeks, bliver vi nødt til at genopbygge det fra bunden
  3. Forespørg under begrænsning af import : De fleste vektorbiblioteker kan ikke forespørges under import af data. Vi skal først importere alle vores dataobjekter. Så indekset oprettes efter at objekterne er importeret. Dette kan være et problem for applikationer, der kræver, at millioner eller endda milliarder af objekter skal importeres.

Der er mange vektorsøgningsbiblioteker tilgængelige: FAISS af Facebook, irritere af Spotify og ScanNN af Google. FAISS bruger klyngemetode, Annoy bruger træer og ScanNN bruger vektorkomprimering. Der er en præstationsafvejning for hver, som vi kan vælge baseret på vores applikation og præstationsmålinger.

CRUD

Den vigtigste funktion, der adskiller vektordatabaser fra vektorbiblioteker, er evnen til at arkivere, opdatere og slette data. Vektordatabaser har CRUD-understøttelse komplet (opret, læs, opdater og slet), der løser begrænsningerne for et vektorbibliotek.

  1. Arkiver vektorer og objekter : Databaser kan lagre både dataobjekter og vektorer. Da begge er gemt, kan vi kombinere vektorsøgning med strukturerede filtre. Filtre giver os mulighed for at sikre, at de nærmeste naboer matcher metadatafilteret.
  2. Foranderlighed : som vektordatabaser fuldt ud understøttet crud, vi kan nemt tilføje, fjerne eller opdatere poster i vores indeks, efter at det er blevet oprettet. Dette er især nyttigt, når du arbejder med konstant skiftende data.
  3. Realtidssøgning : I modsætning til vektorbiblioteker giver databaser os mulighed for at forespørge og ændre vores data under importprocessen. Når vi indlæser millioner af objekter, forbliver de importerede data fuldt tilgængelige og operationelle, så du ikke behøver at vente på, at importen er fuldført for at begynde at arbejde på det, der allerede er der.

Kort sagt giver en vektordatabase en overlegen løsning til håndtering af vektorindlejringer ved at adressere begrænsningerne af selvstændige vektorindekser som diskuteret i de foregående punkter.

Men hvad gør vektordatabaser overlegne i forhold til traditionelle databaser?

Vektordatabaser vs traditionelle databaser

Traditionelle databaser er designet til at gemme og hente strukturerede data ved hjælp af relationelle modeller, hvilket betyder, at de er optimeret til forespørgsler baseret på kolonner og rækker af data. Selvom det er muligt at gemme vektorindlejringer i traditionelle databaser, er disse databaser ikke optimeret til vektoroperationer og kan ikke udføre lighedssøgninger eller andre komplekse operationer på store datasæt effektivt.

Dette skyldes, at traditionelle databaser bruger indekseringsteknikker baseret på simple datatyper, såsom strenge eller tal. Disse indekseringsteknikker er ikke egnede til vektordata, som har høj dimensionalitet og kræver specialiserede indekseringsteknikker såsom omvendte indekser eller rumlige træer.

Traditionelle databaser er heller ikke designet til at håndtere de store mængder ustrukturerede eller semi-strukturerede data, der ofte er forbundet med vektorindlejringer. For eksempel kan en billed- eller lydfil indeholde millioner af datapunkter, som traditionelle databaser ikke kan håndtere effektivt.

Vektordatabaser er på den anden side specifikt designet til at gemme og hente vektordata og er optimeret til lighedssøgninger og andre komplekse operationer på store datasæt. De bruger specialiserede indekseringsteknikker og algoritmer designet til at arbejde med højdimensionelle data, hvilket gør dem meget mere effektive end traditionelle databaser til lagring og hentning af vektorindlejringer.

Nu hvor du har læst så meget om vektordatabaser, undrer du dig måske over, hvordan de fungerer? Lad os se.

Hvordan fungerer en vektordatabase?

Vi ved alle, hvordan relationelle databaser fungerer: de gemmer strenge, tal og andre typer skalardata i rækker og kolonner. På den anden side opererer en vektordatabase på vektorer, så måden den er optimeret og forespurgt på er helt anderledes.

I traditionelle databaser forespørger vi normalt efter rækker i databasen, hvor værdien normalt matcher vores forespørgsel nøjagtigt. I vektordatabaser anvender vi en lighedsmetrik for at finde en vektor, der minder mest om vores forespørgsel.

En vektordatabase bruger en kombination af flere algoritmer, der alle deltager i nærmeste nabosøgning (ANN). Disse algoritmer optimerer søgningen ved hashing, kvantisering eller grafbaseret søgning.

Disse algoritmer er samlet i en pipeline, der giver hurtig og præcis hentning af en forespurgt vektors naboer. Da vektordatabasen giver omtrentlige resultater, er de vigtigste afvejninger, vi overvejer, mellem nøjagtighed og hastighed. Jo mere præcist resultatet er, jo langsommere bliver forespørgslen. Et godt system kan dog give ultrahurtig søgning med næsten perfekt nøjagtighed.

  • Indeksering : Vektordatabasen indekserer vektorer ved hjælp af en algoritme såsom PQ, LSH eller HNSW. Dette trin forbinder vektorerne med en datastruktur, som giver mulighed for hurtigere søgning.
  • Query : vektordatabase sammenligner den indekserede forespørgselsvektor med indekserede vektorer i datasættet for at finde de nærmeste naboer (ved at anvende en lighedsmetrik, der bruges af det indeks)
  • Efterbehandling : I nogle tilfælde henter vektordatabasen de sidste nærmeste naboer fra datasættet og efterbehandler dem for at returnere de endelige resultater. Dette trin kan omfatte omklassificering af de nærmeste naboer ved hjælp af et andet lighedsmål.

Fordele

Vektordatabaser er et kraftfuldt værktøj til lighedssøgninger og andre komplekse operationer på store datasæt, som ikke kan udføres effektivt ved hjælp af traditionelle databaser. For at opbygge en funktionel vektordatabase er indlejringer afgørende, da de fanger den semantiske betydning af dataene og muliggør nøjagtige lighedssøgninger. I modsætning til vektorbiblioteker er vektordatabaser designet til at passe til vores use case, hvilket gør dem ideelle til applikationer, hvor ydeevne og skalerbarhed er kritisk. Med fremkomsten af ​​maskinlæring og kunstig intelligens bliver vektordatabaser stadig vigtigere for en lang række applikationer, herunder anbefalingssystemer, billedsøgning, semantisk lighed, og listen fortsætter. Efterhånden som feltet fortsætter med at udvikle sig, kan vi forvente at se endnu flere innovative anvendelser af vektordatabaser i fremtiden.

Ercole Palmeri

Nyhedsbrev om innovation
Gå ikke glip af de vigtigste nyheder om innovation. Tilmeld dig for at modtage dem via e-mail.

Seneste artikler

Veeam har den mest omfattende support til ransomware, fra beskyttelse til respons og gendannelse

Coveware by Veeam vil fortsætte med at levere responstjenester til cyberafpresning. Coveware vil tilbyde kriminaltekniske og afhjælpende funktioner...

23 April 2024

Grøn og digital revolution: Hvordan prædiktiv vedligeholdelse transformerer olie- og gasindustrien

Forudsigende vedligeholdelse revolutionerer olie- og gassektoren med en innovativ og proaktiv tilgang til anlægsstyring...

22 April 2024

Britisk antitrust-tilsynsmyndighed rejser BigTech-alarm over GenAI

Det britiske CMA har udsendt en advarsel om Big Techs adfærd på markedet for kunstig intelligens. Der…

18 April 2024

Casa Green: energirevolution for en bæredygtig fremtid i Italien

Dekretet om "grønne huse", der er formuleret af Den Europæiske Union for at øge bygningers energieffektivitet, har afsluttet sin lovgivningsproces med...

18 April 2024