Qdrant Sliding Time Window
Guides sliding time window scaling in Qdrant. Use when someone asks 'only recent data matters', 'how to expire old vectors', 'time-based data rotation', 'delete old data efficiently', 'social media feed search', 'news search', 'log search with retention', or 'how to keep only last N months of data'.
MCP get_skill({ skillId: "scaling-with-a-sliding-time-window-7432bc48" })Use this skill with your agent
Create a free account and connect via MCP
# Scaling with a Sliding Time Window Use when only recent data needs fast search -- social media posts, news articles, support tickets, logs, job listings. Old data either becomes irrelevant or can tolerate slower access. Three strategies: **shard rotation** (recommended), **collection rotation** (when per-period config differs), and **filter-and-delete** (simplest, for continuous cleanup). ## Shard Rotation (Recommended) Use when: data has natural time boundaries (daily, weekly, monthly). Preferred because queries span all time periods in one request without application-level fan-out. [User-defined sharding](https://skills.qdrant.tech/md/documentation/distributed_deployment/?s=user-defined-sharding) 1. Create a collection with user-defined sharding enabled 2. Create one shard key per time period (e.g., `2025-01`, `2025-02`, ..., `2025-06`) 3. Ingest data into the current period's shard key 4. When a new period starts, create a new shard key and redirect writes 5. Delete the oldest shard key outside the retention window - Deleting a shard key reclaims all resources instantly (no fragmentation, no optimizer overhead) - Pre-create the next period's shard key before rotation to avoid write disruption - Use `shard_key_selector` at query time to search only specific periods for efficiency - Shard keys can be placed on specific nodes for hot/cold tiering ## Collection Rotation (Alias Swap) Use when: you need per-period collection configuration (e.g., different quantization or storage settings). [Collection aliases](https://skills.qdrant.tech/md/documentation/manage-data/collections/?s=collection-aliases) 1. Create one collection per time period, point a write alias at the newest 2. Query across all active collections in parallel, merge results client-side 3. When a new period starts, create the new collection and swap the write alias [Switch collection](https://skills.qdrant.tech/md/documentation/manage-data/collections/?s=switch-collection) 4. Drop the oldest collection outside the window Trade-off vs shard rotation: allows per-collection config differences, but requires application-level fan-out and more operational overhead. ## Filter-and-Delete Use when: data arrives continuously without clear time boundaries, or you want the simplest setup. 1. Store a `timestamp` payload on every point, create a payload index on it [Payload index](https://skills.qdrant.tech/md/documentation/manage-data/indexing/?s=payload-index) 2. Filter to the desired window at query time using `range` condition [Range filter](https://skills.qdrant.tech/md/documentation/search/filtering/?s=range) 3. Periodically delete expired points using delete-by-filter [Delete points](https://skills.qdrant.tech/md/documentation/manage-data/points/?s=delete-points) - Run cleanup during off-peak hours in batches (10k-50k points) to avoid optimizer locks - Deletes are not free: tombstoned points degrade search until optimizer compacts segments - Does not reclaim disk instantly (compaction is asynchronous) ## Hot/Cold Tiers Use when: recent data needs fast in-RAM search, older data should remain searchable at lower performance. - **Shard rotation:** place current shard key on fast-storage nodes, move older shard keys to cheaper nodes via shard placement. All queries still go through a single collection. - **Collection rotation:** keep current collection in RAM (`always_ram: true`), move older collections to mmap/on-disk vectors. [Quantization](https://skills.qdrant.tech/md/documentation/manage-data/quantization/) ## What NOT to Do - Do not use filter-and-delete for high-volume time-series with millions of daily deletes (use rotation instead) - Do not forget to index the timestamp field (range filters without an index cause full scans) - Do not use collection rotation when shard rotation would suffice (unnecessary fan-out complexity) - Do not drop a shard key or collection before verifying its period is fully outside the retention window - Do not skip pre-creating the next period's shard key or collection (write failures during rotation are hard to recover)
Related Skills
More skills in DevOps & Cloud
1password Skill
1password Skill linked from Juliano Barbosa Claude Code Skills, with the upstream skill instructions available on GitHub.
Actions Manager
GitHub Actions command center -- view workflow runs, read logs, re-run failed jobs, manage workflows, and debug CI failures entirely from the editor. Bypasses the deeply nested, visually-dependent Actions UI that is largely inaccessible to screen readers.
Airunway Aks Setup
Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".
Alz Accelerator
Deploy Azure Landing Zones using the ALZ Accelerator with AVM (Azure Verified Modules). Use this skill whenever the user mentions Azure Landing Zones, ALZ, Azure landing zone accelerator, AVM modules for landing zones, deploying management groups, hub-and-spoke networking, Virtual WAN, platform landing zones, or asks about Bicep vs Terraform for Azure infrastructure. Also trigger when the user wants to bootstrap CI/CD for Azure platform deployment, set up management groups hierarchy, or deploy connectivity/identity/management platform subscriptions.
Alz Accelerator Skill
Alz Accelerator Skill linked from Juliano Barbosa Claude Code Skills, with the upstream skill instructions available on GitHub.
Ansible Conventions and Best Practices
Ansible conventions and best practices
Explore Other Categories
Skills from other categories with shared topics
Chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source projects.
Pinecone
Managed vector database for production AI applications. Fully managed, auto-scaling, with hybrid search (dense + sparse), metadata filtering, and namespaces. Low latency (<100ms p95). Use for production RAG, recommendation systems, or semantic search at scale. Best for serverless, managed infrastructure.
Qdrant Hybrid Search
Explains hybrid search in Qdrant. Use when someone asks 'how do I setup hybrid search?', 'how to combine keyword and semantic search?', 'sparse plus dense vectors?', 'missing keyword matches', 'how to combine results from multiple searches?' and 'combining multiple representations'