Vector search systems store and retrieve numerical representations of text and
other data. Unlike traditional databases that rely on exact keyword matching,
vector databases convert content into embeddings or hashed values that capture
semantic meaning and context.
Why is this useful?
Modern applications need to understand meaning, not just match keywords. When a
user searches for "fast cars," they might want results about "speedy vehicles"
or "high-performance automobiles", content that shares semantic similarity but
uses different terminology.
Vector databases serve as the knowledge layer for Retrieval-Augmented
Generation (RAG) architectures. Since training
large language models from scratch requires enormous computational resources and
datasets, RAG systems instead augment pre-trained models with dynamically
retrieved context, like fast-changing documents, as reference.
Qdrant is a vector database that
allows you to store and query vectors. It is a popular choice for building RAG
applications. It has been well established in the community and has a large
number of users.
Their GitHub Python SDK has 1.1k
stars and is well-documented with several detailed examples. The reason Qdrant
is my go-to vector database is the ease of use, with more tutorials and examples
than most options.
What Is AWS S3 Vector Store?
AWS S3 Vector Store was only recently released so features may
change rapidly.
AWS S3 Vector Store is Amazon's
hosted vector database. It is a new tool that was released in 2025.
Biggest Similarities
Custom Embedding Models
Both can handle any available embedding model. AWS S3 Vector allows you to serve
models from AWS Bedrock but it is not required. For example, you can embed your
data with OpenAI, Gemini, or DeepSeek embedding models before uploading to S3 or
Qdrant.
Python SDKs
Both have Python SDKs. Working with both SDKs, I do not prefer one over the
other.
Biggest Differences
Here are the practical considerations when choosing either option. In practice,
I have found some differences which were not widely discussed.
No UI For S3Vector
S3Vector does not have a UI for managing the database. You can only manage the
database through the AWS Boto3 SDK by making queries to the vector store.
Technically, you can use AWS OpenSearch to manage the database, but it is not
directly part of the AWS S3 Vector Store.
Qdrant has a built-in UI for looking at database content through
http://localhost:6333/dashboard.
S3Vector Has No Locally Hostable Version
This is in line with most AWS services where they manage and host the actual
database itself. Qdrant has an in-memory version for local fast development, a
Docker container for production, and a paid version for cloud hosting.
The in-memory version is great for local development and testing. It is not
recommended for production since the data is cleared when the program process
ends.
Qdrant Metadata Stores More
Qdrant can store the whole original text in the metadata section of the vector
entry, which can be the size of a book. This is opposed to S3Vector, which has a
limit of 40 KB.
AWS Ecosystem
With AWS S3 Vector, you can use it alongside other AWS services such as AWS
Bedrock, AWS Lambda, and AWS Step Functions.
Qdrant has a large number of examples and
documentation.
From my experience, AWS-related services often have poor or outdated
documentation with limited examples. When I learned concepts in AWS, I often
used external resources to understand the concepts.
Looking To The Future
As the popularity of LLM and AI applications increases, there will be a need for
diverse options for search engines in the form of vector databases.
AWS S3 Vector fulfills a role in the AWS ecosystem where startups can use their
existing IAM and deployment infrastructure alongside their new LLM and AI
applications.