Use case 10 of 21 · By Nicolas Dao

Semantic search and RAG

Search by meaning, or feed an LLM your documents.

My stack for this

  1. 01
    pgvector

    When a user is waiting and results depend on your data and permissions.

  2. 02
    Amazon S3 Vectors

    When the collection is huge, cold or per client, and 100 ms is fine.

Don't

  • Amazon OpenSearch

    A cluster to size, patch and pay for around the clock, to do what Postgres full-text search plus pgvector already does next to your data. Only worth it for very large text corpora.

    Instead: pgvector

Worked example: pgvector or S3 Vectors? →

The picks, in brief

What each one is, my verdict, and what it costs. Every name opens the full entry: when to use it and when not, the gotchas with their fixes, provisioning and alternatives.

  • My default pgvector

    Embeddings next to the data they describe, for when a user is waiting for the answer.

    Pricing: Mostly the storage on a Postgres you already pay for: about $5 a month for 1M vectors on an existing Neon database.

  • Use when it fits Amazon S3 Vectors

    Vectors at S3 prices, for huge, cold or per-client collections where 100 ms is fine.

    Pricing: Sydney storage $0.066/GB-month; about $2.50 a month for 1M vectors, $15–154 for 10M, $76–473 for 100M (vs $2,000–12,000 to hold 100M in Postgres). No servers to size.

Where they sit

The layers of the stack this job touches, with every tool named on this page.

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: