Objects and Collections
Here are some of the key core concepts you will come across when working with Weaviate, or vector databases in general.
Objects

An 'object' is an entry in a vector database.
A Weaviate object has three key components:
- ID: A unique identifier (in UUID format)
- Properties: Key/value pairs containing your actual data (like columns in a traditional database)
- Vector(s): One or more high-dimensional numerical representations (embeddings) of the object's meaning
One object is not limited to one vector. A collection can define several named vectors, so the same object can be embedded more than once (say, one vector over the title and another over the description, each with its own model). A named vector can also hold a multi-vector embedding: a matrix of vectors rather than a single one, as produced by ColBERT- or ColPali-style models.
Like a 'row' in a relational database, each object represents a single "entry", or unit of information for storage and search.
In some cases, an object's properties and/or vector can be empty. However, the object must have an ID that is unique within its collection.
Collections

A 'collection' organizes objects into distinct sets of information, like a table in a relational database.
Each collection includes:
- Metadata (configuration): Defines the collection's structure and behavior, including AI model integrations and indexing strategies
- Indexes: Catalogs that speed up data retrieval and filtering
- Object store: Where your actual objects live
Collections let you organize different types of data separately. You might have one collection for "Movies," another for "Books," and a third for "User Reviews," each with its own objects, configuration and behavior.
Multi-tenancy
There is a second way to divide data, and it solves a different problem. A collection can be made multi-tenant, which partitions it into many isolated tenants. Each tenant is stored on its own shard, and data in one tenant is not visible to another.
Reach for multi-tenancy when one application serves many customers, workspaces or end users. Rather than creating (and separately configuring) a collection per customer, you define the collection once and add a tenant per customer. You get the isolation without the configuration sprawl.
Tenants also have a lifecycle, not just data. Each tenant is in one of three states:
ACTIVE(the default): available for reads, writes and queriesINACTIVE: still stored on local disk, but not available for use (cheaper to keep, fast to reactivate)OFFLOADED: moved out to cloud storage (cheapest to keep, slowest to bring back)
That means a long tail of dormant tenants does not have to stay hot, which is what makes the pattern affordable at thousands of tenants.
Objects and collections are the fundamental building blocks of Weaviate. Next, we'll explore how vectors, indexes, and the various APIs that make Weaviate's powerful search capabilities possible.