Skip to content

Collection-per-tenant

A multi-tenancy pattern where each tenant's vectors live in a dedicated collection within a shared database, balancing isolation against resource efficiency.

Collection-per-tenant is a multi-tenancy pattern in which each customer (tenant) is given its own dedicated collection inside a shared vector database. It sits in the middle of the isolation spectrum: stronger separation than putting all tenants in one collection with a tenant-ID filter, but lighter weight than giving each tenant an entirely separate database.

The benefits are clean data isolation and per-tenant flexibility. Because each tenant has a distinct collection, there is no risk of one tenant’s query accidentally returning another’s data, and each collection can have its own schema, index settings, and lifecycle. Dropping a tenant is as simple as deleting their collection.

The main consideration is overhead at scale. Each collection carries some fixed cost in memory and management, so a system serving tens of thousands of small tenants may find this pattern expensive compared to namespace-based isolation. It is best suited to deployments with a moderate number of tenants that each hold a meaningful amount of data.