Când o colecție depășește capacitatea de memorie RAM a unei singure mașini sau cerințele de QPS (interogări pe secundă) depășesc puterea de calcul a unui singur CPU/GPU, clusterul vectorial trebuie fragmentat și replicat:
- Sharding (Fragmentare Orizontală): Vectorii sunt împărțiți pe bază de hash al ID-ului pe
Nnoduri. Fiecare nod construiește un index HNSW doar pentru fragmentul său de date. O căutare este trimisă în paralel pe toate fragmentele (Scatter-Gather). - Replication (Factor de Replicare): Fiecare fragment este copiat pe
Rnoduri diferite utilizând protocoale de consens precum Raft. Replicarea crește disponibilitatea la căderea mașinilor și scalează liniar QPS-ul la citire.
# Configurare colecție distribuită în Qdrant
client.create_collection(
collection_name="sharded_kb",
vectors_config=models.VectorParams(size=768, distance=models.Distance.COSINE),
shard_number=4, # 4 fragmente independente
replication_factor=2 # 2 copii pentru fiecare fragment
)
Nodurile de coordonare din cluster agregă automat top-k rezultatele parțiale primite de la fiecare shard înainte de a trimite răspunsul către client.
Întrebări & Exemple practice:
Sharding și Replicare în Clustere Vectoriale DistribuiteAi o întrebare despre Sharding și Replicare în Clustere Vectoriale Distribuite sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.