← Back to list

What is a Vector Database ?

Vector Databases: The Essential Guide for Modern AI Applications

Satyam Choudhary · 2026-06-05 06:01 · 0 claps · 8.4 min read
#vector-database #vector #vector-search #vector-embeddings #ai
Open on Medium ↗
Wiki topics: RAG · RAG & Retrieval AI · AI · General

What is a Vector Database ?

Vector Databases: The Essential Guide for Modern AI Applications

Before Understanding the vector database , let’s understand the Vector’s First —

What is Vector ?

Vector (Basic Math Meaning) In mathematics, a vector is:

A quantity that has:

  • Magnitude (length)
  • Direction

Example: (3,4) → a vector in 2D space

  • It means: move 3 units right, 4 units up

You can imagine it as an arrow from the origin (0,0) pointing somewhere.

In AI, a vector is:

A list of numbers that represents meaning.

Example:

“dog” → [0.21, -0.44, 0.78, …]

“cat” → [0.19, -0.40, 0.75, …]

These numbers are created by models and capture semantic meaning.

  • Similar words → similar vectors
  • Different meanings → far apart vectors

“dog” → [0.21, -0.44, 0.78, …] These number’s are called Vector Embedding . If you want a detailed explanation of Vector Embedding as well, Click Here

Why Vectors Matter ?

Vectors let computers:

  • Compare meaning (not just exact words)
  • Find similarity

One important detail: Embeddings capture usage context, not dictionary definitions. For example:

  • bank (money) and loan → close
  • bank (river edge) and water → close

Vector Database

Vector Database

Now , Let’s understand the Vector database —

A vector database stores data as embeddings (vectors) — numerical representations of text, images, audio, etc.

A vector database is a system that stores vector embeddings and helps you quickly find similar ones.

👉 Simple words: Vector DB = storage + smart search for embeddings

A vector database is a special database that stores embeddings (numerical representations of meaning). But it does more than just save them. Its real job is to quickly find and use similar embeddings so applications can work with meaning, not just exact words.

Real Problem Without Vector DB

Example: E-commerce Search

User:

“cheap shoes”

Database:

  • “budget sneakers”
  • “formal leather shoes”

Without vector DB:

  • Only exact word match
  • Misses “budget sneakers”

With vector DB:

  • Understands meaning
  • Returns correct result

How a Vector Database Works (Step by Step)

🔄 Workflow

Data (text, images, GIFs, etc.)Convert into embeddingsStore embeddings in the vector database

User queryConvert query into an embeddingPerform similarity searchRetrieve top matching resultsReturn relevant responses

End-to-End Flow

  1. Input Data — Text, images, GIFs, or other content
  2. Generate Embeddings — Convert the content into numerical vectors
  3. Store in Vector DB — Save embeddings for efficient retrieval
  4. User Sends a Query — The query is also converted into an embedding
  5. Similarity Search — Compare the query vector with stored vectors
  6. Return Top Matches — Retrieve the most relevant results

Data(Text , image , etc..) → Embedding → Store in DB

User Query → Embedding → Search → Top matches → Return result

Now , Lets understand in deep , How Similarity or semantic Search Work’s —

1. Perform Similarity Search ( How the DB finds similar vectors )

After converting the user query into an embedding, the query becomes something like:

User Query:
"Best laptop for coding"
↓
Query Vector:
[0.23, -0.81, 0.45, 0.91, ...]
Inside the Vector DB, every stored document already has vectors:
Document 1:
"MacBook for developers"
[0.25, -0.79, 0.41, 0.88]

Document 2:
"Gaming mouse"
[-0.42, 0.67, 0.12, -0.22]

Document 3:
"Laptop for software engineers"
[0.20, -0.84, 0.47, 0.93]

The vector database compares the query vector with all stored vectors.

But not by exact text.

It calculates distance/similarity mathematically.

Let’s Understand the Common Similarity Algorithms

A. Cosine Similarity (Most Common)

cosine similarity is the core idea behind vector search and RAG. Measures the angle between vectors.

Think of vectors as arrows starting from the origin.

Most explanations stop at the formula.

Most explanations stop at the formula.

Where:

  • A · B → dot product (how much the vectors point together)
  • ‖A‖ and ‖B‖ → lengths (magnitudes) of the arrows
  • θ (theta) → angle between them

Because we divide by the lengths, the final value depends mainly on angle, not size.

The real understanding comes when you see what vectors represent geometrically and why angle matters more than distance.

What Cosine Similarity Actually Means

Imagine embeddings are arrows in space. Think of vectors as arrows starting from the origin.

Each vector points in some direction.

Example:

A = [1, 1]
B = [10, 10]

Visual:

y
↑
10 |                              ● B(10,10)
 9 |                           ↗
 8 |                        ↗
 7 |                     ↗
 6 |                  ↗
 5 |               ↗
 4 |            ↗
 3 |         ↗
 2 |      ↗
 1 |  ● A(1,1)
 0 +--------------------------------------------→ x
    0   1   2   3   4   5   6   7   8   9   10

Intuition: Ignore arrow length, care about direction

Imagine two arrows:

  • Arrow A → points northeast , A = [1, 1]
  • Arrow B → also points northeast but is much longer , B = [10, 10]

Cosine similarity says:

Even though B is longer — they point in the same direction. so they’re highly similar.”

So:

Lengths are very different.

But angle =

Cosine similarity:

Cosine Similarity = 1 / cos(0∘)=1

Result → perfect match

because they mean almost the same thing.

Q. How cos(0∘)= 1 , let’s see the actual calculation —

Cosine similarity only measures direction, not length (magnitude).

You gave:

A=(1,1)
B=(10,10)

These vectors point in exactly the same direction, so the angle between them is 0∘.

Let’s calculate it step by step.

Cosine similarity formula:

Step 1: Compute the dot product A⋅B

A⋅B=(1)(10)+(1)(10)
=10+10=20

IMP- Dot product (also called scalar product) has a definition: A⋅B=A1B1 + A2B2 + ⋯+ AnBn.

Step 2: Compute the lengths (magnitudes)

Step 3: Now , Plug into formula​ ​

Let’s Take one More Example —

Suppose:

A=(10,0) 
B=(10,4)

Visually:

y
↑
5 |
4 |                    B(10,4) ●
3 |
2 |
1 |
0 |------------------------------●------→ x
                          A(10,0)
   0   2   4   6   8   10  12

B points mostly to the right, but slightly upward.

Interpretation

Cosine similarity = 0.93 means:

  • vectors are pointing almost the same direction
  • not perfectly aligned
  • only a small difference

Think of recommendation systems:

  • User A likes → Movies, Cricket, Music
  • User B likes → Movies, Cricket, Music, Travel

Their interest vectors point in nearly the same direction → similarity close to 1.

Another intuition:

  • 1.0 → same direction ✅
  • 0.9 → very similar 👍
  • 0.5 → somewhat related 🤔
  • 0 → unrelated ↔️
  • −1 → opposite directions ❌

IMPORTANT things to remember :

  • Similar words → similar vectors Words (or sentences) with related meanings are represented as points that end up close together in a high-dimensional space.
  • Example:
  • king[0.21, -0.84, ...]
  • queen[0.24, -0.79, ...] These vectors are close because the meanings are related.
  • Different meanings → far apart vectors Words with unrelated meanings get vectors that are farther apart.
  • Example:

banana and quantum mechanics → large distance

cat and dog → smaller distance

This is the intuition behind semantic embeddings in NLP.

A common way to measure similarity is:

  • Cosine similarity ≈ 1 → very similar meaning
  • Cosine similarity ≈ 0 → unrelated
  • Cosine similarity < 0 → opposite direction / very different (depending on embedding model)

One important detail: embeddings capture usage context, not dictionary definitions. For example:

  • bank (money) and loan → close
  • bank (river edge) and water → close

Modern models create contextual embeddings, so the vector for bank changes depending on the sentence.

Why Vector Databases Use Angle Instead of Distance —

Example: Text embeddings

Suppose an embedding model converts sentences into vectors.

Sentence 1:

“I love dogs”

Vector: (0.8,0.2)

Sentence 2:

“I really really love dogs”

Vector: (8,2)

Distance says:

  • far apart ❌

Cosine similarity says:

  • same direction → highly similar ✅

Because the meaning is nearly the same.

Another Example —

The key idea is: vector databases care more about direction than physical distance.

Let’s use one real world example.

Query vector: Q=[1,2]

Document A: A=[100,200]

Document B: B=[−1,−2]

Imagine vectors drawn from the origin:

y
↑
220 |                                              ● A(100,200)
200 |                                           ↗
180 |                                        ↗
160 |                                     ↗
140 |                                  ↗
120 |                               ↗
100 |                            ↗
 80 |
 60 |
 40 |
 20 |      ↗ Q(1,2)
  0 +------●----------------------------------------------→ x
-20 |    ↙
-40 |
     ● B(-1,-2)

     -20     0      20      40      60      80      100

Notice:

  • Query and Doc A point to the same direction
  • Doc B points in the opposite direction

Where:

  • Query vector Q = [1,2]
  • Document A = [100,200]
  • Document B = [-1,-2]

Where:

  • Query vector Q = [1,2]
  • Document A = [100,200]
  • Document B = [-1,-2]

B. Euclidean Distance

Measures physical distance between vectors.

Euclidean Distance = “How far apart are the points?” Instead of comparing angles, Euclidean distance compares actual physical distance. Smaller distance = more similar.

Imagine vectors as locations in space, not arrows.

then distance is:

This is just the Pythagorean theorem.

You have two points:
A=(x1​,y1​), B=(x2​,y2​)

These are locations in space, not arrows.

Your goal:

Find the straight-line distance from A to B.

Step 1: Draw the right triangle

From the image

          B(x₂,y₂)
            ●
           /|
          / |
       d /  | BC
        /   |
       /____|
     A   AC
   (x₁,y₁)

AB = actual distance (what we want) , AB is also called the d .

AC = horizontal movement

BC = vertical movement

Step 2: Compute horizontal side AC

Look at x-values:

A starts at: x1
 ​B ends at: x2
 ​

So horizontal distance:

AC=x2−x1
 ​

Example:

If:

A=(2,3)
B=(8,7)

            B(x₂,y₂)
            ●
           /|
          / |
       d /  | BC
        /   |
       /____|
     A   AC
  A(x₁,y₁)

then:

AC=8−2=6

Meaning:

Move 6 units right.

Step 3: Compute vertical side BC

             B(x₂,y₂)
            ●
           /|
          / |
       d /  | BC
        /   |
       /____|
     A   AC
  A(x₁,y₁)

A=(2,3)
B=(8,7)

Look at y-values:

BC=y2 ​−y1
 ​

Example:

BC=7−3=4

Meaning:

Move 4 units up

Now triangle becomes:

      B
      ●
     /|
    / |
   /  | 4
  /   |
 /____|
A   6

Step 4: Apply Pythagorean theorem

You already know:

Example from embeddings :

Interpretation:

The document is 5 units away in vector space.

Smaller distance → more similar.

Now compare this with cosine:

Euclidean → “How far are the points?”

Cosine → “Are they pointing in the same direction?”

Example — Query vs Documents

Real Systems Don’t Compare Every Vector -

If you have 1 billion vectors, comparing against every vector is impossible in real-time.

If DB has:

1 Billion vectors

Comparing one-by-one would be slow.

So vector databases use:

ANN (Approximate Nearest Neighbor)

Algorithms:

HNSW
IVF
PQ
ScaNN
Flow:

Query Vector
     ↓
Navigate Graph / Index
     ↓
Skip irrelevant vectors
     ↓
Find nearest candidates
Time becomes:

Milliseconds
instead of hours

2. Retrieve Top Matching Results

After similarity calculation:

DB creates ranking.

Example:

Query:
"Best coding laptop"

Results:

1. MacBook Air      → 0.95
2. Dell XPS         → 0.93
3. ThinkPad         → 0.89
4. Gaming Laptop    → 0.44

Top-K retrieval:

K = 3
Return:

[
 MacBook Air,
 Dell XPS,
 ThinkPad
]

This is called:

Top-K Nearest Neighbor Searc

메타데이터
post_id
97d558e339c8
slug
what-is-a-vector-database-97d558e339c8
url
https://medium.com/@chsatyam/what-is-a-vector-database-97d558e339c8
canonical_url
https://medium.com/@chsatyam/what-is-a-vector-database-97d558e339c8
author_url
https://medium.com/@chsatyam
status
ok
fetched_at
2026-06-17 16:37:43