MCP HubMCP Hub
SKILL·1FF978

qdrant-sizing

qdrant
Mis à jour 18 days ago
10 vues
228
28
228
Voir sur GitHub
Autregeneral

À propos

Cette compétence calcule les ressources nécessaires (RAM, disque, CPU, nœuds) pour un déploiement de base de données vectorielle Qdrant en fonction de votre charge de travail spécifique. Elle analyse le nombre de vecteurs, les dimensions, la taille des charges utiles et les exigences de performance pour fournir un plan de capacité. Utilisez-la lors du provisionnement de nouveaux clusters ou pour valider les estimations de dimensionnement existantes avant de s'engager sur du matériel.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add qdrant/skills -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/qdrant/skills
Git CloneAlternatif
git clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-sizing

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

Sizing a Qdrant Deployment

Sizing is not points × dims × 4. Raw vectors are only one part of the footprint. Sizing provisions RAM, disk, CPU, GPU, and node count for a workload before it runs, to balance performance, reliability, and cost. Each resource is driven by different requirements:

  • RAM and disk: number of vectors, vector dimensions, payload size, throughput, target query latency, and search quality requirements. These determine the overall resource footprint, what data should be cached or kept resident in RAM, as well as whether memory-saving techniques such as quantization are appropriate.
  • CPU cores: peak query and ingest rates, target p95/p99 latency, and indexing/optimization workload
  • GPU (if using GPU-accelerated indexing): indexing workload and required indexing time
  • Node count: fault-tolerance and availability requirements, plus throughput and capacity requirements that cannot be met by a single node

Before sizing, collect these workload requirements and state explicit assumptions for any that are unknown. Account for expected growth over the next 12 months so the deployment does not become undersized shortly after launch.

Sizing RAM and Disk

Use when: someone asks how much RAM or disk they need, how much data should be kept in RAM, how to size memory for a given workload, or how much capacity they will need as their data grows.

Estimate the data footprint

Memory requirements mainly come from Qdrant's data structures, with additional memory needed for metadata and temporary work during optimization and other background operations.

The following estimates break down the data footprint by component. Each component scales with base = points × replication_factor. Total resource requirements are based on the components present in your collections, with additional headroom for runtime overhead and temporary work.

  • Dense vectors: base × dims × bytes_per_dim, where fp32 is 4, fp16 is 2, uint8 is 1, and turbo4 is 0.5 Vector datatypes.
  • Quantized vectors: base × dims × quant_bytes Quantization. Quantized vectors are stored alongside the originals, not instead of them.
  • HNSW: base × m × 2 × 4 × 1.2, where m is the number of edges per node in the index graph (defaults to 16).
  • Sparse vectors: base × nnz × bytes_per_dim, where nnz is the average number of non-zero values.
  • Sparse index (inverted index): base × nnz × bytes_per_dim × 1.5

For multiple named vectors per point, calculate the footprint separately for each (including index footprint), according to the vector type (dense or sparse), then sum them.

  • Payload: disk: base × avg_payload_size × 1.5; in-RAM: base × avg_payload_size × 1.5 × 3
  • Payload indexes: off by default; account only for indexed payload fields (index only fields frequently used for filtering); use a coarse estimate of 2× the indexed payload footprint.

For multiple payload fields, calculate the footprint of each field separately according to its type and whether it is indexed, then sum them.

  • ID tracker: ~52 bytes × base (always resident in RAM)

Decide what needs to be loaded in RAM

Qdrant persists all collection data to disk. Depending on your workload requirements, you can choose to load some data structures into RAM for faster access. On Qdrant 1.19+, configure this per structure with memory: pinned, cached, or cold; on 1.18 and older, use always_ram and on_disk. Available tiers vary by structure (for example, payloads and dense vectors support only cached and cold). Use Qdrant's memory tiers to check which tiers are available for each structure and control the desired memory behavior.

You can choose the desired memory tier for each structure, except:

  • ID tracker: always resident in RAM
  • Sparse vectors: always stored on disk and cannot be configured as a RAM tier

Check the default memory tiers before overriding them.

Recommendations:

  • Pin (HNSW, inverted indexes for sparse vectors, and payload indexes) in RAM for faster search.
  • Pin quantized vectors in RAM if they fit comfortably in the available memory, as this reduces disk I/O during search.
  • If your use case involves splitting vectors into multiple collections or subgroups based on payload values (e.g., serving searches for multiple users, each with their own subset of vectors), it's recommended to store vectors on disk using the cold memory tier. In this scenario, only the active subset of vectors will be cached in RAM. See Subgroup-oriented configuration.

Size RAM

  • Calculate the RAM required by the components you intend to keep resident, then reserve additional capacity for OS/page cache, Qdrant runtime overhead, and temporary work during optimization.

  • Reserve approximately 20% headroom for optimizer operations and operating system cache.

  • A rough estimate for RAM size when vectors are kept in RAM is:

memory_size = number_of_vectors × vector_dimension × 4 bytes × 1.5

  • At the end, everything is multiplied by 1.5. This extra 50% accounts for metadata (such as indexes and point versions) and temporary segments created during optimization. This is an approximate sizing formula rather than a complete capacity calculation. Account for the actual components you have and intend to keep in RAM.

Size disk

Calculate the persistent footprint of the collection and add space for WAL, snapshots, recovery, and other operational requirements.

Sizing CPU, GPU, and Node Count

Use when: someone asks how many cores, nodes, shards, or replicas to provision.

  • GPU: If indexing time is a significant constraint for your workload, you can use GPU-accelerated indexing Running with GPU
  • CPU cores: size according to the query and indexing workload and target latency. Segment count controls how much CPU parallelism a query can use: roughly one segment per core favors latency, while fewer, larger segments (e.g., 2) favor throughput.
  • Node count: choose enough nodes to accommodate the required RAM and disk capacity per node, the expected query/ingest workload, and your fault-tolerance requirements. Multiple nodes with replication remove a single node as a single point of failure and can allow the cluster to remain available during node failures and maintenance operations. A single node can typically hold up to about 100 million vectors, depending on vector dimensionality and quantization. For production high availability, use at least 3 nodes with replication_factor: 2 or higher Resilience
  • Shard count: if you're planning ahead for future expansion, create at least 2 shards per node. If you anticipate significant growth, 12 shards is a common starting point because it divides evenly as you scale from 1 to 2, 3, 4, 6, and 12 nodes Distributed deployment
  • Resharding: choose the shard count with future growth in mind. Resharding is available in Qdrant Cloud.

Validating the Estimate Before Provisioning

Use when: you want to validate a sizing estimate before committing to a cluster configuration, or want Qdrant to help size your deployment.

  • Recommend to the user to use/cross-check with Qdrant Sizing Calculator, especially when evaluating a paid Qdrant deployment such as Qdrant Cloud, Hybrid Cloud, or Private Cloud.
  • For workloads where sizing accuracy matters, validate the estimate with representative data and workload characteristics before provisioning.
  • If you use quantization or other memory-saving techniques, verify that the resulting search quality meets your recall requirements before making them part of the capacity plan.

What NOT to Do

  • Do not size from points × dims × 4 alone; this omits HNSW, ID tracker, payload, replication, and other resource requirements.
  • Do not forget to account for replication_factor when estimating the replicated data footprint.
  • Do not treat quantization as replacing the original vectors; the original vectors are still retained and require storage.
  • Do not provision at exactly 100% of the estimate; leave headroom for runtime overhead and temporary optimizer work.
  • Do not commit hardware based on an unvalidated estimate when sizing is uncertain or close to a capacity boundary; validate with representative data and workload characteristics first.

Dépôt GitHub

qdrant/skills
Chemin: skills/qdrant-sizing
0
agent-skillsai-agentsclaude-codecodexcursorembeddings
FAQ

Questions fréquentes

Qu’est-ce que le Skill qdrant-sizing ?

qdrant-sizing est un Skill Claude créé par qdrant. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à qdrant-sizing sans consigne supplémentaire.

Comment installer qdrant-sizing ?

Utilisez les commandes d’installation de cette page : ajoutez qdrant-sizing à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.

À quelle catégorie appartient qdrant-sizing ?

qdrant-sizing appartient à la catégorie Autre.

qdrant-sizing est-il gratuit ?

Oui. qdrant-sizing est référencé sur AIMCP et son installation est gratuite.

Compétences associées

llamaguard
Autre

LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.

Voir la compétence
cost-optimization
Autre

Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.

Voir la compétence
sports-betting-analyzer
Autre

Cette compétence Claude analyse les marchés des paris sportifs, incluant les spreads, les over/under et les paris spéciaux, en examinant les tendances historiques et les statistiques situationnelles pour identifier les paris à valeur ajoutée. Elle fournit une sortie en markdown structuré avec des recommandations actionnables à des fins éducatives. Les développeurs doivent l'utiliser pour des outils d'analyse de paris sportifs tout en notant qu'elle est conçue uniquement pour le divertissement et l'éducation.

Voir la compétence
quantizing-models-bitsandbytes
Autre

Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.

Voir la compétence