Skip to main content

Migrate from Qdrant to Zilliz Cloud

This topic describes how Zilliz Cloud handles data type mapping, payload field conversion, and collection naming rules when migrating from Qdrant.

Prerequisites

Before starting your Qdrant to Zilliz Cloud migration, ensure you meet these requirements:

Qdrant requirements

RequirementDetails
Network accessSource Qdrant cluster must be accessible from the public internet
API accessCluster endpoint and API key with access permissions
Data availabilitySource collections must contain data. Empty collections cannot be migrated.

Zilliz Cloud requirements

RequirementDetails
User roleOrganization Owner or Project Admin
Cluster capacitySufficient storage and compute resources (use the CU calculator to estimate CU size)
Network accessAdd Zilliz Cloud IPs to allowlists if using network restrictions

Data type mapping

Understanding how Qdrant data types map to Zilliz Cloud is crucial for planning your migration:

Qdrant Field TypeZilliz Cloud Field TypeNotes
Primary keyVARCHAR (primary key)Automatically mapped. Enable Auto ID to generate new IDs (original values will be discarded).
Dense vectorFLOAT_VECTORDimensions preserved exactly, no modifications needed
Sparse vectorSPARSE_FLOAT_VECTOROnly mapped if non-empty in sample data.
PayloadJSON (dynamic fields)Mapped as dynamic schema by default; can be converted to fixed fields.
Refer to Dynamic Field for more details.

Payload field conversion

Notes

Zilliz Cloud samples 100 rows to detect payload schema. You can manually add additional fields if needed.

Qdrant payload is initially mapped to Zilliz Cloud's dynamic schema for maximum flexibility. You can optionally convert payload fields to fixed fields to gain:

  • Enforced data types for stronger validation

  • Optimized indexing for better query performance

  • Structured schema for consistent data management

When converting payload to fixed fields:

Qdrant Payload TypeZilliz Fixed Field TypeNotes
IntegerINT64Direct type conversion
FloatDOUBLEAll float numbers become DOUBLE
BoolBOOLDirect mapping
KeywordVARCHARMaximum 65,535 bytes supported
GeoJSONPreserved as JSON structure; cannot convert to fixed fields
DatetimeVARCHARMaximum 65,535 bytes supported
UUIDVARCHARMaximum 65,535 bytes supported

Array type support

Array types are not detected in existing payload data and cannot be converted from dynamic fields. However, most array types can be manually added as new fields during migration configuration:

Qdrant Array TypeZilliz Cloud Array TypeAvailable for Manual Addition
Array<Integer>ARRAY<INT64> Can be added as new field
Array<Float>ARRAY<DOUBLE> Can be added as new field
Array<Bool>ARRAY<BOOL> Can be added as new field
Array<Keyword>ARRAY<VARCHAR> Can be added as new field
Array<Geo>Not supported Not available
Array<Datetime>ARRAY<VARCHAR> Can be added as new field
Array<UUID>ARRAY<VARCHAR> Can be added as new field

For payload fields converted to fixed fields, you can configure additional attributes:

  • Nullable: Decide whether a field can accept null values. This feature is enabled by default. For details, refer to Nullable attribute.

  • Default Value: Set fallback values when data is missing. For details, refer to Default values.

  • Partition Key: Optionally designate an INT64 or VARCHAR field as the partition key. Note that each collection supports only one partition key, and the selected field cannot be nullable. For details, refer to Use Partition Key.

Qdrant-specific handling rules

Collection naming rules

Qdrant collection names are transferred to Zilliz Cloud with the following considerations:

ScenarioImpactSolution
Naming conflictsCannot submit a migration job if a collection with the same name already exists in the databaseDelete existing collection, choose a different target database, or rename during migration configuration
Special charactersCollection names are preserved as-is from QdrantEnsure collection names comply with Zilliz Cloud naming conventions