Pinecone presenteert onder de naam pg_pinecone een opensource-uitbreiding voor PostgreSQL. Hiermee kunnen ontwikkelaars vectorzoekopdrachten uitvoeren zonder dat ze een afzonderlijke vectordatabase moeten gebruiken. Pg_pinecone zorgt met name bij AI-toepassingen voor snellere zoekopdrachten en een lagere belasting van het geheugen.
Pg_pinecone is gebaseerd op de zoektechnologie die Pinecone al gebruikt voor de eigen vectordatabase. Met de uitbreiding wordt deze technologie rechtstreeks beschikbaar binnen PostgreSQL. Bedrijven kunnen daardoor hun bestaande database blijven gebruiken voor toepassingen waarbij informatie op basis van betekenis wordt doorzocht, bijvoorbeeld door AI-assistenten.
Op dit moment gebruiken ontwikkelaars hiervoor vaak pgvector. Dat is een eerdere en veelgebruikte uitbreiding voor PostgreSQL. Pinecone stelt dat de daarbij gebruikte HNSW-indexering relatief veel geheugencapaciteit vergt. Bovendien neemt de nauwkeurigheid van zoekresultaten soms af, indien gebruikers zoekopdrachten met specifieke filters uitvoeren.
Kleinere index
Voor het indexeren van vectorgegevens gebruikt Pg_pinecone een andere methode. In plaats van een netwerk van onderling verbonden vectoren worden gegevens gegroepeerd en in gecomprimeerde vorm opgeslagen. Op deze manier legt de index veel minder beslag op geheugenruimte.
Volgens benchmarks van Pinecone bedraagt de indexgrootte bij een dataset van een miljoen vectoren slechts 136 MB. Bij pgvector met een traditionele HNSW-index is dat 4,1 GB. Daarnaast verloopt het opbouwen van de index volgens het bedrijf minder tijd, namelijk 45 tegenover 79 seconden.
Bij zoekopdrachten waarbij 99 procent van de relevante resultaten wordt gevonden, rapporteert Pinecone een responstijd van 2,3 milliseconden, tegenover 6,7 milliseconden voor pgvector. De resultaten zijn afkomstig uit eigen tests van Pinecone.
Een ander verschil betreft het filteren van zoekresultaten. Pg_pinecone past filters tijdens het zoeken toe, terwijl pgvector met HNSW die over het algemeen achteraf toepast. Volgens Pinecone voorkomt dit dat zoekopdrachten met strikte filters relevante resultaten missen.
Overstap naar cloud
De uitbreiding is beschikbaar onder de Apache 2.0-licentie en draait rechtstreeks binnen PostgreSQL. Voor het gebruik van de lokale zoekengine is geen Pinecone-account of externe API nodig. Ook blijven bestaande SQL-query’s bruikbaar.
Daarnaast kunnen ontwikkelaars vanuit dezelfde uitbreiding overstappen naar de beheerde clouddienst van Pinecone. De zoekopdrachten worden dan uitgevoerd op de infrastructuur van het bedrijf, terwijl PostgreSQL de centrale opslagplaats voor de gegevens blijft.
Met pg_pinecone richt het bedrijf zich met name op ontwikkelaars die hun AI-toepassingen binnen PostgreSQL willen houden, maar op termijn mogelijk behoefte hebben aan een afzonderlijke zoekinfrastructuur. De eerste versie van de uitbreiding is beschikbaar via GitHub.