QdrantSync is a powerful and flexible CLI tool designed to seamlessly migrate collections and data points between Qdrant instances. It ensures efficient and reliable synchronization while maintaining data integrity and minimizing downtime.
- Data Migration: Transfer collections and data points from a source Qdrant instance to a destination with ease.
- Customizable Options:
- Specify API keys and timeouts for secure and efficient data transfer.
- Add prefixes to collection names for organized migrations.
- Control replication and write consistency factors for destination collections.
- Use thresholds to balance between approximate and exact counts for large datasets.
- Incremental Migration: Supports marking and tracking migrated data to resume or refresh migrations without duplication.
- Batch Processing: Handles large-scale migrations with scroll-based pagination, customizable batch sizes, and optional delays to avoid server overload.
- Progress Monitoring: Includes real-time progress tracking with detailed output for a smooth migration experience.
- Error Handling: Ensures safe operations with options like proceeding only if collections exist in the destination.
- Migrate Qdrant data during infrastructure upgrades or cloud migrations.
- Synchronize data between staging and production environments.
- Back up collections to alternative Qdrant clusters.
- Python 3.7 or higher
- Access to Qdrant instances (source and destination)
pip install QdrantSync
qdrantsync --help
If you’re testing or contributing before it’s published on PyPI:
- Clone this repository:
git clone https://github.com/your-username/qdrantsync.git cd qdrantsync
- Install in editable mode:
pip install -e .
- Now you can run:
qdrantsync --help
The basic command to migrate data between two Qdrant instances is:
qdrantsync \
--source-url <source_instance_url> \
--destination-url <destination_instance_url> \
--migration-id <unique_migration_id>
You can mix and match other options like --collection-prefix
, --batch-delay
, --replication-factor
, etc. for tailored migrations. For more details on available flags, use qdrantsync --help
.
Contributions are welcome! Feel free to fork the repository, open an issue, or submit a pull request.