| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Scalable vector database deployment for efficient similarity search across multiple nodes
This project demonstrates a scalable, distributed deployment of Qdrant, a high-performance vector database. It showcases how to set up multiple Qdrant nodes in a clustered configuration, enabling efficient vector search operations with high availability and performance.
Qdrant is designed for enterprise-grade vector similarity search, supporting a wide range of use cases:
# Clone the repository
git clone https://github.com/Mohitkr95/qdrant-multi-node-cluster.git
cd qdrant-multi-node-cluster
# Install the package and dependencies
pip install -e .# Start the Qdrant cluster with Prometheus and Grafana
cd deployments/docker
docker-compose up -d# Run the demonstration
python src/run_demo.py
# Or with custom parameters
python src/run_demo.py --host localhost --port 6333 --points 2000Comprehensive documentation is available in the docs directory:
qdrant-multi-node-cluster/ ├── config/ # Configuration files │ ├── grafana.json # Grafana dashboard configuration │ └── prometheus.yml # Prometheus configuration ├── deployments/ # Deployment files │ └── docker/ # Docker-related files │ └── docker-compose.yml # Docker Compose configuration ├── docs/ # Documentation │ ├── api/ # API documentation │ ├── guides/ # User guides │ └── images/ # Documentation images ├── src/ # Source code │ ├── qdrant_demo/ # Main package │ │ ├── config/ # Configuration settings │ │ ├── core/ # Core functionality │ │ └── utils/ # Utility functions │ └── run_demo.py # Main entry point ├── tests/ # Test files ├── LICENSE # MIT License ├── Makefile # Development commands ├── README.md # Project overview ├── requirements.txt # Python dependencies └── setup.py # Package setup file
This project integrates Prometheus for metrics collection and Grafana for visualization, providing real-time insights into your Qdrant cluster's performance.
Customize sharding to distribute data efficiently:
# In settings.py
SHARD_NUMBER = 4 # Default shard countConfigure vector dimensions and distance metrics:
# In cluster_demo.py
client.create_collection(
collection_name=self.collection_name,
vectors_config=models.VectorParams(
size=self.vector_size, # 768 by default
distance=models.Distance.COSINE
),
# ...other parameters
)Extend the cluster by adding more nodes in docker-compose.yml:
qdrant_node4:
image: qdrant/qdrant:v1.6.1
volumes:
- ./data/node4:/qdrant/storage
depends_on:
- qdrant_node1
environment:
QDRANT__CLUSTER__ENABLED: "true"
command: "./qdrant --bootstrap http://qdrant_node1:6335 --uri http://qdrant_node4:6335"Run the test suite:
# Run all tests
make test
# Or directly with Python
python -m unittest discover -s testsContributions are welcome! See our Contributing Guide for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
Mohit Kumar - @Mohitkr95
Project Link: https://github.com/Mohitkr95/qdrant-multi-node-cluster
| Back | FazBrowse Home | New Git URL |