Amazon DynamoDB now supports native vector search, eliminating the need for a separate vector database alongside your operational data. The post walks through building a semantic search application over research paper abstracts using Python: creating a DynamoDB table with a vector index, generating embeddings via Amazon Bedrock (Titan Text Embeddings V2), storing them alongside item data, and querying with the new SearchVectors API. Key configuration options covered include distance functions (DOT_PRODUCT, COSINE, EUCLIDEAN), projection settings, optional partition keys for cost control, and inline filtering. The billing model is explained in detail — charges apply per byte for vector writes, searches, and storage, with a 1 KB minimum per operation. Important constraints include on-demand capacity mode requirement, eventual consistency, immutable index configuration, and a default limit of 5 vector indexes per table.

15m read timeFrom aws.amazon.com
Post cover image
Table of contents
Why store vectors in DynamoDBUse casesSolution overviewHow vector index usage is meteredThings to knowCleaning upConclusionAbout the authors