“The Case Against pgvector” – āđāļĄāļ·āđāļāđāļ§āļāđāļāļāļĢāđāđāļ Postgres āđāļĄāđāļāđāļēāļĒāļāļĒāđāļēāļāļāļĩāđāļāļīāļ
Alex Jacobs āđāļĨāđāļēāļāļĢāļ°āļŠāļāļāļēāļĢāļāđāļāļĢāļāļāļēāļāļāļēāļĢāļāļĒāļēāļĒāļēāļĄāđāļāđ pgvector āđāļāļĢāļ°āļāļāđāļāļĢāļāļąāļāļāļąāļāļāļĢāļīāļ āđāļāļ·āđāļāļŠāļĢāđāļēāļāļĢāļ°āļāļāļāđāļāļŦāļēāđāļāļāļŠāļēāļĢāļāđāļ§āļĒāđāļ§āļāđāļāļāļĢāđ āđāļāđāļāļĨāļąāļāļāļāļ§āđāļēāđāļĄāđ pgvector āļāļ°āļāļđāļāļĩāđāļāđāļāđāļĄ āđāļāđāđāļĄāļ·āđāļāđāļāđāļāļēāļāļāļĢāļīāļāļāļĨāļąāļāđāļāđāļĄāđāļāļāđāļ§āļĒāļāļąāļāļŦāļēāļāļēāļāđāļāļāļāļīāļāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāđāļāļąāļāļāđāļāļ
āđāļāļēāđāļĄāđāđāļāđāļāļāļāļ§āđāļē pgvector “āđāļĒāđ” āđāļāđāļāļĩāđāđāļŦāđāđāļŦāđāļāļ§āđāļē blog āļŠāđāļ§āļāđāļŦāļāđāļāļđāļāļāļķāļāđāļāđāļāļēāļĢāļāļīāļāļāļąāđāļāđāļĨāļ° query āđāļāļ·āđāļāļāļāđāļ āđāļāļĒāđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ index, memory, query planner, āđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĨāļāļāđāļ§āļĨāļē
āļāļ§āļēāļĄāđāļāđāļēāđāļāļāļīāļāļāļēāļāļāļĨāđāļāļāļāļąāđāļ§āđāļ
āļŠāđāļ§āļāđāļŦāļāđāļāļāļŠāļāļāđāļāđ 10,000 vectors āļāļāđāļāļĢāļ·āđāļāļ local
āđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļē memory, index rebuild, āļŦāļĢāļ·āļ query planner
āļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ Index
pgvector āļĄāļĩ 2 āđāļāļ: IVFFlat āđāļĨāļ° HNSW
IVFFlat āļŠāļĢāđāļēāļāđāļĢāđāļ§āđāļāđāļāļļāļāļ āļēāļāļĨāļāļĨāļāđāļĄāļ·āđāļāļāđāļāļĄāļđāļĨāđāļāļīāđāļĄ
HNSW āđāļĄāđāļāļĒāļģāđāļāđāđāļāđ RAM āļŠāļđāļāļĄāļēāļāđāļĨāļ°āļŠāļĢāđāļēāļāļāđāļē
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāđāļŦāļĄāđ
āļāļēāļĢ insert vector āđāļŦāļĄāđāļāļģāđāļŦāđ index āđāļŠāļĩāļĒāļŠāļĄāļāļļāļĨ
āļāđāļāļ rebuild index āđāļāđāļāļĢāļ°āļĒāļ° āļāļķāđāļāđāļāđāđāļ§āļĨāļēāļŦāļĨāļēāļĒāļāļąāđāļ§āđāļĄāļ
āļāļēāļĢ update HNSW graph āļāļģāđāļŦāđāđāļāļīāļ lock contention
āļāļąāļāļŦāļē query planner
Postgres āđāļĄāđāđāļāđāļēāđāļ vector search āļāļĩāļāļ
āļāļēāļĢ filter āļāđāļāļāļŦāļĢāļ·āļāļŦāļĨāļąāļ vector search āļŠāđāļāļāļĨāļāđāļāļāļļāļāļ āļēāļāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§
āļāļēāļĢāđāļāđ LIMIT āļāļēāļāļāļģāđāļŦāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
āļāļēāļĢāļāļąāļāļāļēāļĢ metadata
āļāđāļāļ sync vector āļāļąāļāļāđāļāļĄāļđāļĨāļāļ·āđāļ āđāļāđāļ title, user_id
āļāļēāļĢ rebuild index āļāļģāđāļŦāđāļāđāļāļĄāļđāļĨāļāļēāļāđāļĄāđāļāļĢāļāļāļąāļ
āļāļēāļĢāļāļģ hybrid search
āļāđāļāļāđāļāļĩāļĒāļāđāļāļāļāļąāđāļāļŦāļĄāļ āđāļāđāļ āļāļēāļĢāļĢāļ§āļĄ full-text āļāļąāļ vector
āļāđāļāļ normalize score āđāļĨāļ°āļāļąāļāļāļēāļĢ ranking āļāđāļ§āļĒāļāļąāļ§āđāļāļ
āļāļēāļāđāļĨāļ·āļāļāđāļŦāļĄāđ: pgvectorscale
āđāļāļīāđāļĄ StreamingDiskANN āđāļĨāļ° incremental index
āļĒāļąāļāđāļĄāđāļĢāļāļāļĢāļąāļāļāļ AWS RDS
āđāļāđāļāļŦāļĨāļąāļāļāļēāļāļ§āđāļē pgvector āđāļāļīāļĄāļĒāļąāļāđāļĄāđāļāļĢāđāļāļĄāļŠāļģāļŦāļĢāļąāļāđāļāļĢāļāļąāļāļāļąāļ
āļāđāļāđāļŠāļāļāļāļēāļāļāļđāđāđāļāļĩāļĒāļ
āđāļāđ vector database āđāļāļĒāļāļĢāļ āđāļāđāļ Pinecone, Weaviate
āđāļāđ query planner āļāļĩāđāļāļĨāļēāļāļāļ§āđāļē
āļĄāļĩ hybrid search āđāļĨāļ° real-time indexing āđāļāļāļąāļ§
āļĢāļēāļāļēāļāļđāļāļāļ§āđāļēāļāļēāļĢ over-provision Postgres āđāļĨāļ°āļāđāļēāļāļāļĩāļĄ optimize
āļāļĒāđāļēāļŦāļĨāļāđāļāļ·āđāļ “āđāļāđāđāļāđ Postgres āļāđāļāļ”
pgvector āđāļĄāđāđāļāđāļāļāļāđāļāļāļĄāļēāļŠāļģāļŦāļĢāļąāļ high-velocity ingestion
āļāđāļāļāļāļąāļāļāļēāļĢ memory, index, āđāļĨāļ° query āđāļāļāļāļąāđāļāļŦāļĄāļ
āļāļēāļĢāđāļāđ HNSW āđāļāđāļāļĢāļāļąāļāļāļąāļ
āļŠāļĢāđāļēāļ index āđāļāđ RAM āļĄāļēāļāļāļ§āđāļē 10 GB
āļāļēāļāļāļģāđāļŦāđ database āļĨāđāļĄāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļŠāļĢāđāļēāļ
āļāļēāļĢ filter āļŦāļĨāļąāļ vector search
āļāļēāļāđāļāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
āļāđāļāļ oversample āđāļĨāļ° filter āđāļāļāđāļ application
āļāļēāļĢāđāļāđ pgvector āļāļ RDS
āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđ pgvectorscale āđāļāđ
āļāđāļāļāļāļąāļāļāļēāļĢ Postgres āđāļāļāļāļąāđāļāļŦāļĄāļ
āļāļĩāđāļāļ·āļāđāļŠāļĩāļĒāļāđāļāļ·āļāļāļāļēāļāļāļāļāļĩāđāđāļāļĒāđāļāļ·āđāļāļ§āđāļē “āļĢāļ§āļĄāļāļļāļāļāļĒāđāļēāļāđāļ§āđāđāļ Postgres āļāļ°āļāđāļēāļĒāļāļ§āđāļē” āđāļāđāļāļāļ§āđāļēāđāļāđāļĨāļāļāļāļ vector search—āļāļ§āļēāļĄāļāđāļēāļĒāļāļąāđāļāļāļēāļāļāđāļāļāļāđāļāļāļļāļāļāļĩāđāļŠāļđāļāļāļ§āđāļēāļāļĩāđāļāļīāļāđāļ§āđāļĄāļēāļ.
https://alex-jacobs.com/posts/the-case-against-pgvector/
Alex Jacobs āđāļĨāđāļēāļāļĢāļ°āļŠāļāļāļēāļĢāļāđāļāļĢāļāļāļēāļāļāļēāļĢāļāļĒāļēāļĒāļēāļĄāđāļāđ pgvector āđāļāļĢāļ°āļāļāđāļāļĢāļāļąāļāļāļąāļāļāļĢāļīāļ āđāļāļ·āđāļāļŠāļĢāđāļēāļāļĢāļ°āļāļāļāđāļāļŦāļēāđāļāļāļŠāļēāļĢāļāđāļ§āļĒāđāļ§āļāđāļāļāļĢāđ āđāļāđāļāļĨāļąāļāļāļāļ§āđāļēāđāļĄāđ pgvector āļāļ°āļāļđāļāļĩāđāļāđāļāđāļĄ āđāļāđāđāļĄāļ·āđāļāđāļāđāļāļēāļāļāļĢāļīāļāļāļĨāļąāļāđāļāđāļĄāđāļāļāđāļ§āļĒāļāļąāļāļŦāļēāļāļēāļāđāļāļāļāļīāļāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāđāļāļąāļāļāđāļāļ
āđāļāļēāđāļĄāđāđāļāđāļāļāļāļ§āđāļē pgvector “āđāļĒāđ” āđāļāđāļāļĩāđāđāļŦāđāđāļŦāđāļāļ§āđāļē blog āļŠāđāļ§āļāđāļŦāļāđāļāļđāļāļāļķāļāđāļāđāļāļēāļĢāļāļīāļāļāļąāđāļāđāļĨāļ° query āđāļāļ·āđāļāļāļāđāļ āđāļāļĒāđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ index, memory, query planner, āđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĨāļāļāđāļ§āļĨāļē
āļāļ§āļēāļĄāđāļāđāļēāđāļāļāļīāļāļāļēāļāļāļĨāđāļāļāļāļąāđāļ§āđāļ
āļŠāđāļ§āļāđāļŦāļāđāļāļāļŠāļāļāđāļāđ 10,000 vectors āļāļāđāļāļĢāļ·āđāļāļ local
āđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļē memory, index rebuild, āļŦāļĢāļ·āļ query planner
āļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ Index
pgvector āļĄāļĩ 2 āđāļāļ: IVFFlat āđāļĨāļ° HNSW
IVFFlat āļŠāļĢāđāļēāļāđāļĢāđāļ§āđāļāđāļāļļāļāļ āļēāļāļĨāļāļĨāļāđāļĄāļ·āđāļāļāđāļāļĄāļđāļĨāđāļāļīāđāļĄ
HNSW āđāļĄāđāļāļĒāļģāđāļāđāđāļāđ RAM āļŠāļđāļāļĄāļēāļāđāļĨāļ°āļŠāļĢāđāļēāļāļāđāļē
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāđāļŦāļĄāđ
āļāļēāļĢ insert vector āđāļŦāļĄāđāļāļģāđāļŦāđ index āđāļŠāļĩāļĒāļŠāļĄāļāļļāļĨ
āļāđāļāļ rebuild index āđāļāđāļāļĢāļ°āļĒāļ° āļāļķāđāļāđāļāđāđāļ§āļĨāļēāļŦāļĨāļēāļĒāļāļąāđāļ§āđāļĄāļ
āļāļēāļĢ update HNSW graph āļāļģāđāļŦāđāđāļāļīāļ lock contention
āļāļąāļāļŦāļē query planner
Postgres āđāļĄāđāđāļāđāļēāđāļ vector search āļāļĩāļāļ
āļāļēāļĢ filter āļāđāļāļāļŦāļĢāļ·āļāļŦāļĨāļąāļ vector search āļŠāđāļāļāļĨāļāđāļāļāļļāļāļ āļēāļāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§
āļāļēāļĢāđāļāđ LIMIT āļāļēāļāļāļģāđāļŦāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
āļāļēāļĢāļāļąāļāļāļēāļĢ metadata
āļāđāļāļ sync vector āļāļąāļāļāđāļāļĄāļđāļĨāļāļ·āđāļ āđāļāđāļ title, user_id
āļāļēāļĢ rebuild index āļāļģāđāļŦāđāļāđāļāļĄāļđāļĨāļāļēāļāđāļĄāđāļāļĢāļāļāļąāļ
āļāļēāļĢāļāļģ hybrid search
āļāđāļāļāđāļāļĩāļĒāļāđāļāļāļāļąāđāļāļŦāļĄāļ āđāļāđāļ āļāļēāļĢāļĢāļ§āļĄ full-text āļāļąāļ vector
āļāđāļāļ normalize score āđāļĨāļ°āļāļąāļāļāļēāļĢ ranking āļāđāļ§āļĒāļāļąāļ§āđāļāļ
āļāļēāļāđāļĨāļ·āļāļāđāļŦāļĄāđ: pgvectorscale
āđāļāļīāđāļĄ StreamingDiskANN āđāļĨāļ° incremental index
āļĒāļąāļāđāļĄāđāļĢāļāļāļĢāļąāļāļāļ AWS RDS
āđāļāđāļāļŦāļĨāļąāļāļāļēāļāļ§āđāļē pgvector āđāļāļīāļĄāļĒāļąāļāđāļĄāđāļāļĢāđāļāļĄāļŠāļģāļŦāļĢāļąāļāđāļāļĢāļāļąāļāļāļąāļ
āļāđāļāđāļŠāļāļāļāļēāļāļāļđāđāđāļāļĩāļĒāļ
āđāļāđ vector database āđāļāļĒāļāļĢāļ āđāļāđāļ Pinecone, Weaviate
āđāļāđ query planner āļāļĩāđāļāļĨāļēāļāļāļ§āđāļē
āļĄāļĩ hybrid search āđāļĨāļ° real-time indexing āđāļāļāļąāļ§
āļĢāļēāļāļēāļāļđāļāļāļ§āđāļēāļāļēāļĢ over-provision Postgres āđāļĨāļ°āļāđāļēāļāļāļĩāļĄ optimize
āļāļĒāđāļēāļŦāļĨāļāđāļāļ·āđāļ “āđāļāđāđāļāđ Postgres āļāđāļāļ”
pgvector āđāļĄāđāđāļāđāļāļāļāđāļāļāļĄāļēāļŠāļģāļŦāļĢāļąāļ high-velocity ingestion
āļāđāļāļāļāļąāļāļāļēāļĢ memory, index, āđāļĨāļ° query āđāļāļāļāļąāđāļāļŦāļĄāļ
āļāļēāļĢāđāļāđ HNSW āđāļāđāļāļĢāļāļąāļāļāļąāļ
āļŠāļĢāđāļēāļ index āđāļāđ RAM āļĄāļēāļāļāļ§āđāļē 10 GB
āļāļēāļāļāļģāđāļŦāđ database āļĨāđāļĄāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļŠāļĢāđāļēāļ
āļāļēāļĢ filter āļŦāļĨāļąāļ vector search
āļāļēāļāđāļāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
āļāđāļāļ oversample āđāļĨāļ° filter āđāļāļāđāļ application
āļāļēāļĢāđāļāđ pgvector āļāļ RDS
āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđ pgvectorscale āđāļāđ
āļāđāļāļāļāļąāļāļāļēāļĢ Postgres āđāļāļāļāļąāđāļāļŦāļĄāļ
āļāļĩāđāļāļ·āļāđāļŠāļĩāļĒāļāđāļāļ·āļāļāļāļēāļāļāļāļāļĩāđāđāļāļĒāđāļāļ·āđāļāļ§āđāļē “āļĢāļ§āļĄāļāļļāļāļāļĒāđāļēāļāđāļ§āđāđāļ Postgres āļāļ°āļāđāļēāļĒāļāļ§āđāļē” āđāļāđāļāļāļ§āđāļēāđāļāđāļĨāļāļāļāļ vector search—āļāļ§āļēāļĄāļāđāļēāļĒāļāļąāđāļāļāļēāļāļāđāļāļāļāđāļāļāļļāļāļāļĩāđāļŠāļđāļāļāļ§āđāļēāļāļĩāđāļāļīāļāđāļ§āđāļĄāļēāļ.
https://alex-jacobs.com/posts/the-case-against-pgvector/
ð° “The Case Against pgvector” – āđāļĄāļ·āđāļāđāļ§āļāđāļāļāļĢāđāđāļ Postgres āđāļĄāđāļāđāļēāļĒāļāļĒāđāļēāļāļāļĩāđāļāļīāļ
Alex Jacobs āđāļĨāđāļēāļāļĢāļ°āļŠāļāļāļēāļĢāļāđāļāļĢāļāļāļēāļāļāļēāļĢāļāļĒāļēāļĒāļēāļĄāđāļāđ pgvector āđāļāļĢāļ°āļāļāđāļāļĢāļāļąāļāļāļąāļāļāļĢāļīāļ āđāļāļ·āđāļāļŠāļĢāđāļēāļāļĢāļ°āļāļāļāđāļāļŦāļēāđāļāļāļŠāļēāļĢāļāđāļ§āļĒāđāļ§āļāđāļāļāļĢāđ āđāļāđāļāļĨāļąāļāļāļāļ§āđāļēāđāļĄāđ pgvector āļāļ°āļāļđāļāļĩāđāļāđāļāđāļĄ āđāļāđāđāļĄāļ·āđāļāđāļāđāļāļēāļāļāļĢāļīāļāļāļĨāļąāļāđāļāđāļĄāđāļāļāđāļ§āļĒāļāļąāļāļŦāļēāļāļēāļāđāļāļāļāļīāļāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāđāļāļąāļāļāđāļāļ
āđāļāļēāđāļĄāđāđāļāđāļāļāļāļ§āđāļē pgvector “āđāļĒāđ” āđāļāđāļāļĩāđāđāļŦāđāđāļŦāđāļāļ§āđāļē blog āļŠāđāļ§āļāđāļŦāļāđāļāļđāļāļāļķāļāđāļāđāļāļēāļĢāļāļīāļāļāļąāđāļāđāļĨāļ° query āđāļāļ·āđāļāļāļāđāļ āđāļāļĒāđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ index, memory, query planner, āđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļĨāļāļāđāļ§āļĨāļē
â
āļāļ§āļēāļĄāđāļāđāļēāđāļāļāļīāļāļāļēāļāļāļĨāđāļāļāļāļąāđāļ§āđāļ
âĄïļ āļŠāđāļ§āļāđāļŦāļāđāļāļāļŠāļāļāđāļāđ 10,000 vectors āļāļāđāļāļĢāļ·āđāļāļ local
âĄïļ āđāļĄāđāļāļđāļāļāļķāļāļāļąāļāļŦāļē memory, index rebuild, āļŦāļĢāļ·āļ query planner
â
āļāļąāļāļŦāļēāđāļĢāļ·āđāļāļ Index
âĄïļ pgvector āļĄāļĩ 2 āđāļāļ: IVFFlat āđāļĨāļ° HNSW
âĄïļ IVFFlat āļŠāļĢāđāļēāļāđāļĢāđāļ§āđāļāđāļāļļāļāļ āļēāļāļĨāļāļĨāļāđāļĄāļ·āđāļāļāđāļāļĄāļđāļĨāđāļāļīāđāļĄ
âĄïļ HNSW āđāļĄāđāļāļĒāļģāđāļāđāđāļāđ RAM āļŠāļđāļāļĄāļēāļāđāļĨāļ°āļŠāļĢāđāļēāļāļāđāļē
â
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāđāļŦāļĄāđ
âĄïļ āļāļēāļĢ insert vector āđāļŦāļĄāđāļāļģāđāļŦāđ index āđāļŠāļĩāļĒāļŠāļĄāļāļļāļĨ
âĄïļ āļāđāļāļ rebuild index āđāļāđāļāļĢāļ°āļĒāļ° āļāļķāđāļāđāļāđāđāļ§āļĨāļēāļŦāļĨāļēāļĒāļāļąāđāļ§āđāļĄāļ
âĄïļ āļāļēāļĢ update HNSW graph āļāļģāđāļŦāđāđāļāļīāļ lock contention
â
āļāļąāļāļŦāļē query planner
âĄïļ Postgres āđāļĄāđāđāļāđāļēāđāļ vector search āļāļĩāļāļ
âĄïļ āļāļēāļĢ filter āļāđāļāļāļŦāļĢāļ·āļāļŦāļĨāļąāļ vector search āļŠāđāļāļāļĨāļāđāļāļāļļāļāļ āļēāļāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§
âĄïļ āļāļēāļĢāđāļāđ LIMIT āļāļēāļāļāļģāđāļŦāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
â
āļāļēāļĢāļāļąāļāļāļēāļĢ metadata
âĄïļ āļāđāļāļ sync vector āļāļąāļāļāđāļāļĄāļđāļĨāļāļ·āđāļ āđāļāđāļ title, user_id
âĄïļ āļāļēāļĢ rebuild index āļāļģāđāļŦāđāļāđāļāļĄāļđāļĨāļāļēāļāđāļĄāđāļāļĢāļāļāļąāļ
â
āļāļēāļĢāļāļģ hybrid search
âĄïļ āļāđāļāļāđāļāļĩāļĒāļāđāļāļāļāļąāđāļāļŦāļĄāļ āđāļāđāļ āļāļēāļĢāļĢāļ§āļĄ full-text āļāļąāļ vector
âĄïļ āļāđāļāļ normalize score āđāļĨāļ°āļāļąāļāļāļēāļĢ ranking āļāđāļ§āļĒāļāļąāļ§āđāļāļ
â
āļāļēāļāđāļĨāļ·āļāļāđāļŦāļĄāđ: pgvectorscale
âĄïļ āđāļāļīāđāļĄ StreamingDiskANN āđāļĨāļ° incremental index
âĄïļ āļĒāļąāļāđāļĄāđāļĢāļāļāļĢāļąāļāļāļ AWS RDS
âĄïļ āđāļāđāļāļŦāļĨāļąāļāļāļēāļāļ§āđāļē pgvector āđāļāļīāļĄāļĒāļąāļāđāļĄāđāļāļĢāđāļāļĄāļŠāļģāļŦāļĢāļąāļāđāļāļĢāļāļąāļāļāļąāļ
â
āļāđāļāđāļŠāļāļāļāļēāļāļāļđāđāđāļāļĩāļĒāļ
âĄïļ āđāļāđ vector database āđāļāļĒāļāļĢāļ āđāļāđāļ Pinecone, Weaviate
âĄïļ āđāļāđ query planner āļāļĩāđāļāļĨāļēāļāļāļ§āđāļē
âĄïļ āļĄāļĩ hybrid search āđāļĨāļ° real-time indexing āđāļāļāļąāļ§
âĄïļ āļĢāļēāļāļēāļāļđāļāļāļ§āđāļēāļāļēāļĢ over-provision Postgres āđāļĨāļ°āļāđāļēāļāļāļĩāļĄ optimize
âžïļ āļāļĒāđāļēāļŦāļĨāļāđāļāļ·āđāļ “āđāļāđāđāļāđ Postgres āļāđāļāļ”
â pgvector āđāļĄāđāđāļāđāļāļāļāđāļāļāļĄāļēāļŠāļģāļŦāļĢāļąāļ high-velocity ingestion
â āļāđāļāļāļāļąāļāļāļēāļĢ memory, index, āđāļĨāļ° query āđāļāļāļāļąāđāļāļŦāļĄāļ
âžïļ āļāļēāļĢāđāļāđ HNSW āđāļāđāļāļĢāļāļąāļāļāļąāļ
â āļŠāļĢāđāļēāļ index āđāļāđ RAM āļĄāļēāļāļāļ§āđāļē 10 GB
â āļāļēāļāļāļģāđāļŦāđ database āļĨāđāļĄāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļŠāļĢāđāļēāļ
âžïļ āļāļēāļĢ filter āļŦāļĨāļąāļ vector search
â āļāļēāļāđāļāđāļāļĨāļĨāļąāļāļāđāđāļĄāđāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļāđāļāļāļāļēāļĢ
â āļāđāļāļ oversample āđāļĨāļ° filter āđāļāļāđāļ application
âžïļ āļāļēāļĢāđāļāđ pgvector āļāļ RDS
â āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđ pgvectorscale āđāļāđ
â āļāđāļāļāļāļąāļāļāļēāļĢ Postgres āđāļāļāļāļąāđāļāļŦāļĄāļ
āļāļĩāđāļāļ·āļāđāļŠāļĩāļĒāļāđāļāļ·āļāļāļāļēāļāļāļāļāļĩāđāđāļāļĒāđāļāļ·āđāļāļ§āđāļē “āļĢāļ§āļĄāļāļļāļāļāļĒāđāļēāļāđāļ§āđāđāļ Postgres āļāļ°āļāđāļēāļĒāļāļ§āđāļē” āđāļāđāļāļāļ§āđāļēāđāļāđāļĨāļāļāļāļ vector search—āļāļ§āļēāļĄāļāđāļēāļĒāļāļąāđāļāļāļēāļāļāđāļāļāļāđāļāļāļļāļāļāļĩāđāļŠāļđāļāļāļ§āđāļēāļāļĩāđāļāļīāļāđāļ§āđāļĄāļēāļ.
https://alex-jacobs.com/posts/the-case-against-pgvector/
0 Comments
0 Shares
114 Views
0 Reviews