DEV Community

Abhay Ojha
Abhay Ojha

Posted on

When scaling broke my system (and it wasn’t a performance issue)

Recently, I scaled a system from a small dataset to thousands of files.

And everything broke.

  • Storage usage exploded
  • Queries became painfully slow
  • Even simple operations started timing out

At first, I assumed it was a performance issue.

It wasn’t.

It was an architectural mistake.


What went wrong

Without realizing it, I had turned a vector database into a full data storage system.

Instead of using it just for similarity search,
I was relying on it for:

  • storing large structured data
  • handling exact queries

And that’s where things started to fall apart.


What I learned

Vector databases are great at:

  • finding relevant or similar information

But they are not designed for:

  • storing large structured datasets
  • handling precise, exact-match queries at scale

The fix: a hybrid approach

I changed the system design to separate concerns:

  • one layer for semantic search (vector DB)
  • one layer for exact retrieval (traditional database)

This made the system:

  • faster
  • more predictable
  • easier to scale

Key takeaway

Scaling isn’t just about handling more data.

It’s about using the right system for the right job.

Sometimes, the biggest optimization isn’t in the code.

It’s in the architecture.

Top comments (0)