A vector database is a specialized type of database designed to store, index, and search high-dimensional vector embeddings. These vectors typically represent data like text, images, audio, or video after they’ve been processed by machine learning models (e.g., embeddings from BERT, CLIP, etc.). Vector databases are optimized for similarity search using metrics such as cosine similarity, Euclidean distance, or dot product.

Key Features of Vector Databases:
- Efficient vector indexing (e.g., HNSW, IVF, PQ)
- Similarity search / nearest neighbor search
- Support for high-dimensional data
- Integration with ML/AI pipelines
- Some support hybrid search (vector + keyword filtering)
Popular Open-Source Vector Databases
Name | Language | Description |
---|---|---|
FAISS (Meta) | C++/Python | Very fast, widely used library for similarity search. |
Annoy (Spotify) | C++/Python | Optimized for read-only memory-mapped datasets. |
HNSWlib | C++/Python | Implements Hierarchical Navigable Small World graph algorithm. |
Milvus | C++/Go | Full-featured vector DB with clustering, sharding, and hybrid search. |
Weaviate | Go | Vector DB with REST/GraphQL API, supports hybrid search. |
Qdrant | Rust | High-performance DB with filtering, gRPC/REST APIs. |
Vald (by Yahoo Japan) | Go | Cloud-native, k8s-integrated vector search. |
Vespa (Yahoo) | Java | Search engine that supports vector and traditional search. |
Commercial / Managed Vector Database Solutions
Name | Based on | Notes |
---|---|---|
Pinecone | Proprietary | Managed service, scalable, good for production ML workloads. |
Zilliz Cloud | Milvus | Managed version of Milvus. |
Weaviate Cloud | Weaviate | Hosted version of Weaviate. |
Qdrant Cloud | Qdrant | Hosted Qdrant with scaling and monitoring. |
Amazon OpenSearch + k-NN | FAISS/HNSW | Amazon service with vector search plugin. |
Azure Cognitive Search | Proprietary | Integrated AI and vector capabilities. |
Google Vertex AI Search | Proprietary | Includes vector search within AI stack. |
Redis (with Redis-Vector) | C | In-memory DB with vector search plugin. |
Elasticsearch (with KNN plugin) | Java | Traditional search engine extended for vectors. |
There are over a dozen well-maintained open-source vector databases, and many commercial offerings. Open-source choices like Milvus, Weaviate, Qdrant, and FAISS are common in research and self-managed deployments. For ease of use and scalability, companies often turn to Pinecone, Zilliz Cloud, or Qdrant Cloud.

Does MySQL or PostgreSQL support vector?
Yes, both MySQL and PostgreSQL support vectors to some extent, especially with recent updates and extensions — though their vector support is not as advanced or optimized as dedicated vector databases.
PostgreSQL (Yes, with extensions)
PostgreSQL has good support for vector search thanks to:
- pgvector extension (very popular):
- Adds a new data type:
vector
- Supports similarity search using cosine, L2 (Euclidean), or inner product.
- Indexing via IVFFlat for approximate nearest neighbors.
- Open-source and actively maintained.
- Widely used with LLM apps (e.g., LangChain + Postgres + pgvector).
CREATE TABLE items (id serial, embedding vector(768)); SELECT * FROM items ORDER BY embedding <-> '[0.1, 0.2, 0.3]' LIMIT 5;
- Adds a new data type:
- Can be self-hosted or used via services like:
- Supabase (PostgreSQL + pgvector)
- Neon (cloud-native PostgreSQL with vector support)
MySQL (Limited vector support)
- MySQL does not natively support a vector data type as of May 2025.
- Some users store vectors as JSON or blobs and implement manual similarity search in the application layer — but this is inefficient and not scalable.
- There’s no built-in index support for vector similarity search in standard MySQL.
- Some vendors or forks (e.g., MariaDB) may introduce limited support in the future, but MySQL is currently not ideal for vector search.
Verdict:
Feature | PostgreSQL + pgvector | MySQL |
---|---|---|
Native vector type | ✅ vector(n) | ❌ No |
Approximate search | ✅ (IVFFlat) | ❌ No |
Indexing support | ✅ | ❌ |
Community/LLM usage | ✅ Popular | ❌ Rare |
Production-ready | ✅ | ⚠️ Workarounds only |
Use PostgreSQL with pgvector
if you want to stay in a relational database but need vector capabilities. For serious scale or performance, consider dedicated vector DBs like Milvus, Pinecone, or Qdrant.