Migrate from Turbopuffer to Qdrant

What You Need from Turbopuffer

  • API key: from the Turbopuffer dashboard
  • Namespace: the name of the namespace to migrate
  • Region: the region the namespace lives in, such as gcp-us-central1 or aws-us-east-1

Concept Mapping

TurbopufferQdrantNotes
NamespaceCollectionOne-to-one mapping
DocumentPointOne-to-one mapping
Vector attributeNamed vectorSame name and dimensions
Other attributesPayloadDirect mapping
Unsigned integer IDNumeric point IDDirect mapping
UUID string IDUUID point IDDirect mapping
Other string IDUUID point IDConverted to a deterministic UUID. The original ID is kept in the __id__ payload field
cosine_distanceCosineDirect mapping
euclidean_squaredEuclidDirect mapping

Run the Migration

docker run --net=host --rm -it registry.cloud.qdrant.io/library/qdrant-migration turbopuffer \
    --turbopuffer.namespace 'your-namespace' \
    --turbopuffer.api-key 'your-turbopuffer-api-key' \
    --turbopuffer.region 'gcp-us-central1' \
    --qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
    --qdrant.api-key 'your-qdrant-api-key' \
    --qdrant.collection 'your-collection'

All Turbopuffer-Specific Flags

FlagRequiredDescription
--turbopuffer.namespaceYesTurbopuffer namespace to migrate
--turbopuffer.api-keyYesTurbopuffer API key
--turbopuffer.regionYesTurbopuffer region, such as gcp-us-central1

Qdrant-Side Options

FlagDefaultDescription
--qdrant.id-field__id__Payload field name for original Turbopuffer document IDs

Gotchas

  • Indexes: The tool does not carry over Turbopuffer’s full-text search or filterable settings. Set up equivalent payload indexes in Qdrant after the migration.

Next Steps

After migration, verify your data arrived correctly with the Migration Verification Guide.

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.