External Collection LimitsPublic Preview
Because Zilliz Cloud does not store raw data for external collections and only maintains metadata and mappings to the external data source, external collections are read-only. As a result, you cannot perform write or maintenance operations from the Zilliz Cloud side, including insert, upsert, delete, import, flush, and compact.
Compared with managed collections, external collections have the following limitations:
-
You need to use an API key to access external collections.
-
Zilliz Cloud does not enforce primary key uniqueness, and you cannot configure a primary key or
AutoID. -
You cannot enable the dynamic field.
-
You cannot use partitions. As a result, partition key and are not supported.
-
You cannot define functions in the schema.
-
You cannot modify the schema of an external collection after it is created.
-
You cannot use text match with BM25.
-
To make external data queryable, you must first create an index and then manually trigger
RefreshExternalCollectionso that Zilliz Cloud can build metadata and indexes for the data. -
Backup, restore, and migration are currently not supported for external collections.
The following table compares the operations supported by external collections and managed collections in detail.
Managed Collection (Serving Cluster) | External Collection (Serving Cluster or Databases for On-Demand Compute) | Managed Collection (On-Demand Compute Database) | ||
|---|---|---|---|---|
Collection Management | CreateCollection | ✅ | ✅ | ✅ |
DropCollection | ✅ | ✅ | ✅ | |
DescribeCollection | ✅ | ✅ | ✅ | |
RenameCollection | ✅ | ✅ | ✅ | |
Dynamic Field | ✅ | ❌ | ✅ | |
Primary Key | ✅ | ❌ | ✅ | |
Auto ID | ✅ | ❌ | ✅ | |
TTL | ✅ | ❌ | ❌ | |
Nullable/Default Value | ✅ | ❌ | ✅ | |
Loaded Entities | ✅ | ✅ | ✅ | |
Allow Insert Auto ID | ✅ | ❌ | ✅ | |
MMAP | ✅ | ❌ | ✅ | |
Timezone | ✅ | ✅ | ✅ | |
Schema | AddField | ✅ | ❌ | ✅ |
AlterField | ✅ | ❌ | ✅ | |
Partition | CreatePartition | ✅ | ❌ | ✅ |
DropPartition | ✅ | ❌ | ✅ | |
Partition Key | ✅ | ❌ | ✅ | |
Data writes | Insert | ✅ | ❌ | ❌ |
Delete | ✅ | ❌ | ❌ | |
Upsert | ✅ | ❌ | ❌ | |
BulkInsert / Import | ✅ | ❌ | ✅ | |
Flush | ✅ | ❌ | ❌ | |
Shard | ✅ | ❌ | ✅ | |
Truncate | ✅ | ❌ | ✅ | |
Data sync | RefreshExternalCollection | — | ✅ | — |
GetRefreshProgress | — | ✅ | — | |
ListRefreshJobs | — | ✅ | — | |
Index | CreateIndex | ✅ | ✅ | ✅ |
DropIndex | ✅ | ❌ | ❌ | |
DescribeIndex | ✅ | ✅ | ✅ | |
Load/Release | LoadCollection | ✅ | ✅ | ✅ |
ReleaseCollection | ✅ | ✅ | ✅ | |
Search/Query | Search | ✅ | ✅ | ✅ |
Query | ✅ | ✅ | ✅ | |
HybridSearch | ✅ | ✅ | ✅ | |
Functions | ✅ | ❌ | ✅ | |
Full-text Search/Text Match | ✅ | ❌ | ✅ | |
Maintenance | Manual Compaction | ✅ | ❌ | ✅ |
Clustering Key | ✅ | ❌ | ✅ | |
Backup & restore | ✅ | ❌ | ❌ | |
Migration | ✅ | ❌ | ❌ | |