Exam-style
A retailer runs its subscriber records and its product catalogue in Amazon Aurora PostgreSQL. It wants semantic search over the product descriptions, so a shopper typing "something warm for camping in the rain" finds the right jackets even when those words appear nowhere in the listing. The team has one firm constraint: no second data store to secure, back up, patch and pay for. Where do the embeddings go?
Reveal the answer
B. Amazon Aurora PostgreSQL with the pgvector extension enabled, keeping the vectors in a column beside the product rows
Two facts decide this: the catalogue is already in PostgreSQL, and the team has ruled out a second system. pgvector is a PostgreSQL extension that adds a vector column type and nearest-neighbour search to ordinary SQL. The embeddings sit in a column on the product table, covered by the same backups and grants, and one query can filter on price or stock in the same WHERE clause. Amazon RDS for PostgreSQL supports pgvector on PostgreSQL 15 and later, so the Aurora-or-RDS decision is the ordinary Postgres one. The other four all retrieve. Amazon DynamoDB added vector indexes in August 2026, with approximate nearest-neighbour search through its SearchVectors API. Amazon S3 Vectors stores and queries vectors in a vector bucket, aimed at infrequent queries. Amazon Neptune Analytics carries a vector index on a graph, which suits retrieval that walks relationships as well as measuring similarity; nothing here does. A new Amazon OpenSearch Service domain is the general default. None of the four holds the product rows, so each adds the store the constraint excludes plus a copy of the catalogue to keep in step. Amazon Bedrock Knowledge Bases can write into Aurora PostgreSQL, so chunking, embedding and syncing stay managed even though the store is your own database.
Q. The catalogue is already in Amazon Aurora PostgreSQL, the team wants semantic search, and it will not run a second data store. Where do the embeddings go?
A. Aurora PostgreSQL with the pgvector extension, vectors in a column beside the product rows. Amazon RDS for PostgreSQL does the same job on the standard engine, from PostgreSQL 15 up.
Why? Sort the AWS vector stores by what the estate already looks like. Amazon OpenSearch Service is the general default when there is nothing to sit next to, and it retrieves well here, but it is the extra system this team has excluded. Amazon Aurora and Amazon RDS for PostgreSQL fit when the data is already in Postgres. One backup, one set of grants and one WHERE clause cover both halves. Amazon Neptune Analytics is for retrieval that walks relationships as well as measuring similarity. Amazon DynamoDB and Amazon S3 Vectors both run similarity search now. Capability is not what rules them out. Neither holds the catalogue, so either one adds a store and a copy of the product rows to keep in step. Amazon Bedrock Knowledge Bases can target Aurora PostgreSQL, so choosing your own database does not mean writing the ingestion pipeline.