정보
이 스킬은 특정 워크로드에 기반하여 Qdrant 벡터 데이터베이스 배포에 필요한 리소스(RAM, 디스크, CPU, 노드)를 계산합니다. 벡터 수, 차원, 페이로드 크기 및 성능 요구사항을 분석하여 용량 계획을 제공합니다. 새 클러스터를 프로비저닝하거나 하드웨어를 확정하기 전 기존의 크기 추정치를 검증할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add qdrant/skills -a claude-code/plugin add https://github.com/qdrant/skillsgit clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-sizingClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
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_bytesQuantization. Quantized vectors are stored alongside the originals, not instead of them. - HNSW:
base × m × 2 × 4 × 1.2, wheremis the number of edges per node in the index graph (defaults to 16). - Sparse vectors:
base × nnz × bytes_per_dim, wherennzis 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
coldmemory 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: 2or 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 × 4alone; this omits HNSW, ID tracker, payload, replication, and other resource requirements. - Do not forget to account for
replication_factorwhen 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.
GitHub 저장소
자주 묻는 질문
qdrant-sizing Skill이란 무엇인가요?
qdrant-sizing은(는) qdrant이(가) 만든 Claude Skill입니다. Skill은 Claude가 필요할 때 불러오는 지침과 리소스를 묶어 추가 프롬프트 없이 qdrant-sizing 관련 작업을 수행할 수 있게 합니다.
qdrant-sizing은(는) 어떻게 설치하나요?
이 페이지의 설치 명령을 사용하세요. qdrant-sizing을(를) Claude Code 플러그인으로 추가하거나 저장소를 skills 디렉터리에 복제한 다음 Claude를 다시 시작해 Skill을 불러옵니다.
qdrant-sizing은(는) 어떤 카테고리에 속하나요?
qdrant-sizing은(는) 기타 카테고리에 속합니다.
qdrant-sizing은(는) 무료로 사용할 수 있나요?
네. qdrant-sizing은(는) AIMCP에 등록되어 있으며 무료로 설치할 수 있습니다.
연관 스킬
LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
이 Claude Skill은 스프레드, 오버/언더, 프로프 베트를 포함한 스포츠 베팅 시장을 분석합니다. 역사적 추이와 상황별 통계를 검토하여 가치 베트를 발견하고, 교육적 목적으로 실행 가능한 권장 사항이 담긴 구조화된 마크다운 결과를 제공합니다. 개발자는 이 기능을 스포츠 베팅 분석 도구에 활용할 수 있으며, 단순히 엔터테인먼트/교육 목적으로만 설계되었음을 유의해야 합니다.
이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
