<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp" -->

---
title: Vector Indexes Are Not Interchangeable. Most...
description: Vector index configuration is one of the most consequential and least revisited decisions in semantic search systems. The post explains why creating a vector...
canonical: https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Vector Indexes Are Not Interchangeable. Most Applications Treat Them Like They Are. | daily.dev
og:description: Vector index configuration is one of the most consequential and least revisited decisions in semantic search systems. The post explains why creating a vector...
og:url: https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp
og:image: https://api.daily.dev/og/posts/0c2JNPspP.png
og:image:alt: Vector Indexes Are Not Interchangeable. Most Applications Treat Them Like They Are.
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Vector Indexes Are Not Interchangeable. Most Applications Treat Them Like They Are.

**[Couchbase](https://daily.dev/sources/couchbase)** · 12 min read · 0 upvotes · 0 comments

## Summary

Vector index configuration is one of the most consequential and least revisited decisions in semantic search systems. The post explains why creating a vector index is an architectural commitment — locking in memory model, compression scheme, and query syntax — and why changing it later is expensive. It covers the three-way tension between recall, latency, and cost, then details three Couchbase index types (Hyperscale, Composite, and FTS Search Vector Index), each suited to different scale and filter patterns. Common failure modes are described: the simplicity trap (picking FTS and hitting memory limits at 130M+ vectors), the scale-fixation trap (choosing Hyperscale when filter-first would be faster), and codebook drift (IVF centroids becoming unrepresentative as data evolves, silently degrading recall). A decision framework based on keyword needs, scale thresholds, filter selectivity, and growth projections is outlined, along with a Couchbase Vector Index Advisor tool that guides teams through the diagnostic questions before writing a CREATE statement.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.couchbase.com/blog/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are>

## Questions this post answers

### What is codebook drift in an IVF-based vector index and why does it degrade recall silently?

Codebook drift happens when the cluster centroids trained on an initial data sample stop representing the data as new vectors flow in and the distribution shifts away from that original sample. Recall decays gradually with no error or alert, since the index still functions normally. The fix is a periodic rebuild of the index once the hazard is recognized.

_Anyone tuning IVF-based vector search for production can track guidance like this on daily.dev before recall quietly erodes._

### Should I use a Composite Vector Index or a Hyperscale Vector Index for a multi-tenant vector search application in Couchbase?

A Composite Vector Index is better when queries carry narrow scalar filters (like tenant or category) that keep only a small slice of the corpus eligible, since it applies filters before running nearest-neighbor search, cutting expensive vector work down to that slice. A Hyperscale Vector Index is better when filters are broad or absent and the corpus is very large, since it keeps only a routing layer of cluster centroids in RAM while vectors sit on SSD, scaling to billions of vectors without the memory cost of a scalar filter layer it would rarely use.

_Teams weighing vector index tradeoffs for multi-tenant search can follow this kind of architecture reasoning on daily.dev._

### How much memory does SQ8 quantization save for a vector index compared to storing full-precision vectors?

SQ8 quantization trims memory by roughly 75% while keeping recall high, compressing each dimension to one byte. SQ4 compresses further but at a real accuracy cost. As an example, at 100 million vectors with 1536 dimensions, the SQ8-quantized payload alone is roughly 144 GB, before accounting for centroids, graph structure, and scalar columns.

_Engineers sizing memory for large-scale vector search deployments can keep up with quantization tradeoffs like these on daily.dev._

## Similar posts on daily.dev

- [The Case Against pgvector](https://daily.dev/posts/the-case-against-pgvector-amqbtam6f) · Hacker News · 3 upvotes · 0 comments
- [Scaling Vector Search Performance: From Millions to Billions](https://daily.dev/posts/scaling-vector-search-performance-from-millions-to-billions-c5dvchkfu) · BigData Boutique blog · 3 upvotes · 0 comments
- [Filtered ANN Search With Composite Vector Indexes](https://daily.dev/posts/filtered-ann-search-with-composite-vector-indexes-e9pxmr9n7) · Couchbase · 0 upvotes · 0 comments
- [Vector Search: A Practical Guide for Developers](https://daily.dev/posts/vector-search-a-practical-guide-for-developers-wpvtprg29) · Redis · 0 upvotes · 0 comments
- [Vector Databases Explained in 3 Levels of Difficulty](https://daily.dev/posts/vector-databases-explained-in-3-levels-of-difficulty-pg3waxjnd) · Machine Learning Mastery · 4 upvotes · 0 comments

---

Tags: [#vector-search](https://daily.dev/tags/vector-search), [#couchbase](https://daily.dev/tags/couchbase)

[View this post on daily.dev](https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Vector Indexes Are Not Interchangeable. Most Applications Treat Them Like They Are.","url":"https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp"},"datePublished":"2026-08-11T16:01:32.784Z","dateModified":"2026-09-14T09:08:34.270Z","description":"Vector index configuration is one of the most consequential and least revisited decisions in semantic search systems. The post explains why creating a vector...","image":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","thumbnailUrl":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","isAccessibleForFree":true,"articleSection":"Couchbase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Couchbase","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/7bfc4b06cf4f46748cab77d81aa782b6","url":"https://daily.dev/sources/couchbase"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"vector-search,couchbase","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Couchbase","item":"https://daily.dev/sources/couchbase"},{"@type":"ListItem","position":3,"name":"Vector Indexes Are Not Interchangeable. Most Applications Treat Them Like They Are."}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/vector-indexes-are-not-interchangeable-most-applications-treat-them-like-they-are--0c2jnpspp#faq","mainEntity":[{"@type":"Question","name":"What is codebook drift in an IVF-based vector index and why does it degrade recall silently?","acceptedAnswer":{"@type":"Answer","text":"Codebook drift happens when the cluster centroids trained on an initial data sample stop representing the data as new vectors flow in and the distribution shifts away from that original sample. Recall decays gradually with no error or alert, since the index still functions normally. The fix is a periodic rebuild of the index once the hazard is recognized. Anyone tuning IVF-based vector search for production can track guidance like this on daily.dev before recall quietly erodes."}},{"@type":"Question","name":"Should I use a Composite Vector Index or a Hyperscale Vector Index for a multi-tenant vector search application in Couchbase?","acceptedAnswer":{"@type":"Answer","text":"A Composite Vector Index is better when queries carry narrow scalar filters (like tenant or category) that keep only a small slice of the corpus eligible, since it applies filters before running nearest-neighbor search, cutting expensive vector work down to that slice. A Hyperscale Vector Index is better when filters are broad or absent and the corpus is very large, since it keeps only a routing layer of cluster centroids in RAM while vectors sit on SSD, scaling to billions of vectors without the memory cost of a scalar filter layer it would rarely use. Teams weighing vector index tradeoffs for multi-tenant search can follow this kind of architecture reasoning on daily.dev."}},{"@type":"Question","name":"How much memory does SQ8 quantization save for a vector index compared to storing full-precision vectors?","acceptedAnswer":{"@type":"Answer","text":"SQ8 quantization trims memory by roughly 75% while keeping recall high, compressing each dimension to one byte. SQ4 compresses further but at a real accuracy cost. As an example, at 100 million vectors with 1536 dimensions, the SQ8-quantized payload alone is roughly 144 GB, before accounting for centroids, graph structure, and scalar columns. Engineers sizing memory for large-scale vector search deployments can keep up with quantization tradeoffs like these on daily.dev."}}]}
```

