External Collection LimitsOn-Demand Only
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.
-
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.
-
You can create an external collection only in an on-demand compute database. Support for creating external collections in serving Dedicated clusters is coming soon.
The following table compares the operations supported by external collections and managed collections in detail.
Managed Collection (Serving Cluster) | External Collection (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 | ✅ | ❌ | ❌ | |