Each store leaves its own fingerprint in a scenario. Retrieval Augmented Generation is what needs the store; a worked scenario runs one estate through the choice. Index types and distance metrics sit deeper than this level needs. This card stays at the naming level.
Flash card
Vector storage on AWS: the services that hold embeddings and answer a similarity query, and the phrase that points at each one.
- Amazon OpenSearch Service is the general-purpose default. A managed domain runs vector search through the k-NN plugin; a serverless vector search collection does the same with no nodes to size. Both index text alongside the vectors, so a scenario asking for keyword and semantic matching lands here.
- Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL hold embeddings in a pgvector column beside the rows they describe, under the same backups and grants. The give-away is data already in Postgres, with a similarity query that filters on price, stock or tenant.
- Amazon Neptune Analytics stores vectors on a graph, so one query measures similarity and follows relationships in the same pass. Name it only when the scenario mentions connections between entities. One vector index per graph, fixed at creation.
- Amazon S3 Vectors holds embeddings in a vector bucket, a bucket type of its own. An index takes up to two billion vectors and answers in under a second. Built for storage cost rather than latency, and semantic search only, no keyword.
- Amazon DynamoDB added vector indexes in 2026: approximate nearest-neighbour search over embeddings on table items, read with the SearchVectors API, five per table, on-demand capacity only. Amazon MemoryDB and Amazon DocumentDB do the same for their estates.
- Amazon Bedrock Knowledge Bases chunks the source, embeds it, writes the vectors into a store you nominate and re-syncs on change. Its AWS targets are Amazon OpenSearch Service, Amazon S3 Vectors, Amazon Aurora PostgreSQL through the RDS Data API, and Amazon Neptune Analytics. Amazon RDS for PostgreSQL and Amazon DynamoDB are not.
Pick it when
Pick the store the data already sits in: pgvector for Postgres, a vector index for DynamoDB items, Amazon Neptune Analytics for a graph, Amazon S3 Vectors for a large archive queried rarely, Amazon OpenSearch Service when nothing is in place or keyword search is needed too.
It's the wrong answer when
A plain Amazon S3 bucket and a DynamoDB table with no vector index still cannot answer “which of these is nearest”: reading every object in a prefix to compare vectors is a scan. Each needs the vector resource created first.