pgvector felgyorsítása: 4x gyorsabb HNSW vektor keresés AlloyDB-vel
ARCHITECT KIEMELT ELEMZÉS

pgvector felgyorsítása: 4x gyorsabb HNSW vektor keresés AlloyDB-vel

SZERZŐ

Darshana Sivakumar

FORRÁS

Cloud Blog

DATE

READ

2 perc olvasás

Az AlloyDB egy PostgreSQL-kompatibilis adatbázisszolgáltatás, amely egyesíti a nyílt forrású PostgreSQL legjobb tulajdonságait a Google fejlett technológiájával, nagy 확장ibilitást és magas rendelkezésre állást biztosít. …

AlloyDB egy teljesen kezelt, PostgreSQL-kompatibilis adatbázis szolgáltatás, amely a legigényesebb vállalati terhelésekhez készült. Ötvözi a nyílt forrású PostgreSQL legjobb tulajdonságait a Google fejlett technológiájával, nagyszerű skálázhatóságot, nagy elérhetőséget és natív AI képességeket kínálva. Teljesítményes relációs tárolóként, egyetlen hátterként vektor- és teljes szöveges keresésre, valamint egy elemző motorként, amely 100-szer gyorsabb, mint a standard PostgreSQL. A vektor-keresés a modern AI és a RAG (Retrieval Augmented Generation) alkalmazások alapja. A fejlesztők számára, akik AlloyDB-t és más PostgreSQL adatbázisokat használnak, a pgvector egy széles körben használt kiterjesztés a vektorok tárolására, indexelésére és lekérdezésére, a HNSW (Hierarchical Navigable Small World) pedig egy hatékony, grafikus algoritmus, amely a több rétegű szerkezetekben történő közelítő legközelebbi szomszéd keresésre lett tervezve. Az AlloyDB-ben (jelenleg előzetes állapotban) az HNSW-t gyorsító oszlopos motorral, a standard PostgreSQL HNSW-hez képest akár 4-szer nagyobb lekérdezési sebességet (QPS) érhet el a vektor-keresés terén. A vállalmi AI alkalmazások állandó kompromisszumot kell tartania a sebesség és a pontosság között. Ha több millió vagy milliárd vektoron kell keresni, a legfontosabb, hogy a “Queries per Second”-et (QPS) maximalizáljuk, miközben a keresési minőséget (recall) sem kell kompromisszumba hozni. A PostgreSQL pgvector kiterjesztése az HNSW-t egy olyan indexként kínál, amely felgyorsíthatja a közelítő legközelebbi szomszéd (ANN) keresést. Merüljünk el abban, hogyan oldja meg az AlloyDB a sebesség és a pontosság közötti kompromisszumot. Fontos: Bár ez a bejegyzés a HNSW teljesítményét fókuszban tartja, érdemes megjegyezni, hogy a HNSW az AlloyDB fejlett vektor eszközének egyetlen része. Az AlloyDB a ScaNN-t is tartalmazza, egy csúcskategóriás indexet, amelyet a Google Research 14 évig fejlesztett, így Ön a tökéletes indexet kiválaszthatja a saját terheléséhez. Ezenkívül, ha a teljes pontosságot követelmény, a standard k-közelebbi szomszéd (KNN) keresést mindig elérhetővé tesszi a 100%-os visszahívás érdekében. Nézze meg a “Choose a Vector Index Guide”-t, hogy megtekinthesse, hogyan állnak össze az indexek. A columnar engine egy beépített, in-memory cache, amely automatikusan tárolja a gyakran keresett adatokat egy speciális, szkennel-optimalizált oszlopos formátumban. Ez lehetővé teszi az AlloyDB számára, hogy a standard PostgreSQL-hez képest 100-szer gyorsabban tudjon kezelni a nagy teljesítményű elemzői kérdéseket. Ezenkívül az ANN-kereséseket is felgyorsítja az index tárolásával a memóriában, vektorizált memóriatervezéssel a gyors átutazásokhoz, és elkerülve a standard PostgreSQL buffer manager overhead-jét.