Vector Database: What It Is and Its Uses
What a vector database is
A vector database is a system that stores information as vectors, lists of numbers that represent the meaning of a text, an image or a sound, and lets you search for the items most similar to a given one. Instead of asking "give me the row whose code is 123", you ask "give me whatever is most like this".
Those vectors, also called embeddings or fingerprints, are generated by an artificial intelligence model. Two texts that say the same thing in different words, or two photos of the same object, produce vectors that are close together.
How it works
It works in three steps:
- Convert. A model turns each document or image into a vector.
- Store. The database stores the vectors with an index designed to search by closeness quickly, even across a very large number of items.
- Search. When a query comes in, it is turned into a vector with the same model and the database returns the closest ones, usually with a similarity score.
With that score you can set a threshold: if the closest item does not pass it, the system treats the query as unknown instead of forcing a match.
Vector database use cases
The most common uses of a vector database are:
- Search by meaning in documents, even when the words do not match.
- RAG, so a language model can answer with passages from your documents.
- Visual recognition, to identify an object by comparing its image with others already registered.
- Recommendations of similar products or content.
One practical advantage is that adding a new item means storing its vector. There is no need to retrain the model that generates them.
Qdrant and other vector databases
There are databases built only for vectors, such as Qdrant, and extensions that add vector search to traditional databases. The choice depends on data volume, whether you need to filter by other fields and where the system will run.
An example with Qdrant at a buffet
In the Buffet Inteligente system DPI built for MBO, Meta's DINOv3 model turns the photo of each tray into a fingerprint of 384 numbers. The backend searches for that fingerprint in Qdrant, with a similarity threshold configurable per hotel, to find out which dish it is. If it does not recognize it, it records it as unknown to be labeled later. Adding a new dish means photographing it, not retraining.