Database / Milvus Vector database Interview questions
What is the difference between growing segments and sealed segments in Milvus?
A growing segment is the current, mutable, in-memory buffer receiving newly inserted data for a given shard; it hasn't yet reached the threshold to be finalized. A sealed segment is immutable and has been flushed to persistent object storage, at which point it becomes eligible for full index building.
| Growing segment | Sealed segment |
| Mutable; actively receiving new inserts. | Immutable; no further writes accepted. |
| Lives in memory, not yet in object storage. | Persisted to object storage as binlog files. |
| Searched via a lightweight temporary index or brute-force scan. | Searched via the fully-built, optimized index (HNSW, IVF, etc.). |
| Relatively small (bounded by the sealing threshold). | Can be large, and is what most of a mature collection's data lives in. |
A query against a collection searches across both segment types simultaneously and merges the results, which is precisely what lets Milvus offer real-time visibility of just-inserted data without waiting for the (comparatively slow) full index-building process to complete for that data first.
More Related questions...