Dynamo DB just got an AI Update
Real-time vector search on your favourite NoSQL DB
Previously, integrating DynamoDB data with AI applications required a separate vectorisation pipeline. Data had to be extracted from DynamoDB, processed through an embedding model, and then stored in a dedicated vector database such as Amazon S3 Vectors or Amazon OpenSearch Service. While this approach enabled semantic search and Retrieval-Augmented Generation (RAG) workloads, it introduced additional infrastructure, operational overhead, and synchronisation challenges.
For example, whenever new data was added or existing data was updated in DynamoDB, a synchronisation process had to run to generate embeddings and update the external vector store. This made real-time vector search difficult because there was always a delay between the source data changing and the vector index being updated.
On August 5, 2026, AWS introduced a major enhancement to DynamoDB that simplifies this architecture. Developers can now create a vector index directly on DynamoDB attributes that store vector embeddings. Instead of maintaining a separate vector database, vector search can be performed natively within DynamoDB.
It’s important to note that DynamoDB does not generate embeddings automatically. Applications must still use an embedding model to create vector representations of their data and store those vectors in DynamoDB. The new capability focuses on indexing and searching those vectors efficiently within the database itself.
With built-in vector indexing and similarity search capabilities, applications can perform semantic searches against DynamoDB data in near real time without maintaining separate vector storage systems. Because the vectors reside alongside the source data, developers no longer need complex synchronisation pipelines to keep an external vector database up to date.
What previously required DynamoDB, an embedding pipeline, and a dedicated vector database can now be simplified to DynamoDB plus an embedding model. This reduces architectural complexity, lowers operational overhead, and makes it easier to build AI-powered applications that require up-to-date data for search, recommendation engines, and RAG workloads.
How to enable this feature?
In DynamoDB, you can create a vector index directly from the AWS Management Console. A vector index can be configured either when creating a new table or added later to an existing table.
To use vector search, you first need to store embeddings in a dedicated vector attribute within your items. Once the vector index is created on that attribute, DynamoDB can perform similarity searches against those embeddings without requiring a separate vector database.
What we just configured,
When creating a vector index in DynamoDB, several important configuration options determine how your vector search behaves. Understanding these fields is critical because incorrect configuration can lead to inaccurate search results or failed index creation.
- The Index Name is simply a unique identifier for your vector index. It does not affect the vector search process or the way embeddings are stored. It is used only to identify and manage the index in DynamoDB.
- The vector attribute field is the name of the embedding column. Whatever we write here is used by DynamoDB for search. treat it as the embedding it needs to query on.
{
"productId": "P001",
"description": "Wireless noise cancelling headphones",
"embedding": [ 0.123, -0.456, 0.789, 0.234 ]
}- The Dimension value is one of the most important settings when creating a vector index.
The dimension represents the number of values contained inside each embedding vector.
[
0.12,
-0.34,
0.56
]
# This vector has
# Dimension = 3
# because it contains three numerical values.The dimension must exactly match the output dimension of your embedding model. You cannot choose an arbitrary number.
Get Thidas Senavirathna’s stories in your inbox
Join Medium for free to get updates from this writer.
For example
- Amazon Titan Text Embeddings V2 can generate embeddings with dimensions such as 256, 512, or 1024 depending on configuration.
- Other embedding models may output different dimensions.
Always check your embedding model documentation and configure DynamoDB with the exact dimension size produced by that model.
If your model generates 1024-dimensional vectors, your DynamoDB vector index must also be configured with dimention : 1024
- The distance function determines how DynamoDB compares vectors during similarity search. DynamoDB supports three common distance functions: Cosine, Euclidean, and Dot Product.
Cosine distance measures the angle between two vectors rather than their magnitude. It is commonly used for semantic text search because two pieces of text can have similar meanings even if their vector values have different lengths. Typical use cases include document search, RAG applications, question-answering systems, and semantic search.
Euclidean distance measures the physical distance between two vectors in the vector space. It is useful when the magnitude of the vectors carries meaningful information, such as clustering numerical data, comparing measurements, or grouping items based on numeric features.
The dot product considers both the direction and magnitude of vectors. It is commonly used when both similarity and the strength of preference matter, such as recommendation systems, ranking systems, and personalisation models.
As a general rule, you should select the distance function that matches the metric used by your embedding model because this helps achieve the best search accuracy. Different embedding models are optimised for specific similarity calculations, so choosing the correct distance function is important for reliable vector search results.
- The Vector Index Partition Key controls how DynamoDB distributes vectors across partitions. It allows DynamoDB to scale vector search horizontally while maintaining predictable performance. When a partition key is provided, vector searches are performed within a specific partition rather than searching across the entire vector index.
- Inline Filter Attributes allow you to reduce the vector search space by applying additional filters before or during similarity search.
Now, you can search using your vectors directly on DynamoDB
Summary,
You no longer need to build a complex pipeline to move DynamoDB data into a separate vector database. DynamoDB now provides native vector search capabilities, simplifying the overall architecture.
The concept is straightforward. First, create a vector index within your DynamoDB table as shown in the above images. During this configuration, you define important settings such as the vector attribute field, dimension, and distance function.
Next, use an embedding model to generate vector embeddings for your data fields and store those embeddings in the vector attribute you configured in the DynamoDB vector index. It is important to carefully configure the dimension and distance function because these values must match your embedding model’s output and recommended similarity metric.
By correctly configuring the vector index and using the appropriate embedding model settings, you can perform accurate and efficient vector searches directly within DynamoDB without maintaining a separate vector database or synchronisation pipeline.








