Pular para o conteúdo
Skillpedia
Bancos de dados40 mil · #5310

qdrant-sliding-time-window

Ajuda seu agente a gerenciar dados que mudam com o tempo no Qdrant. É útil para manter apenas informações recentes, como em feeds de notícias.

O que ela faz

Esta ferramenta ajuda a gerenciar dados que mudam com o tempo, como posts de redes sociais ou notícias. Ela garante que apenas informações recentes sejam fáceis e rápidas de encontrar, enquanto dados mais antigos podem ser acessados de forma mais lenta ou removidos.

Quando usar

  • ✓Quero buscar apenas posts recentes em uma rede social.
  • ✓Preciso que notícias antigas sejam removidas automaticamente.
  • ✓Quero organizar logs de sistema mantendo apenas os últimos meses.

Exemplo do que pedir para a IA

“Como faço para que meu sistema de busca de notícias mostre apenas as notícias da última semana?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/qdrant-scaling/scaling-data-volume/sliding-time-window/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/qdrant-scaling/scaling-data-volume/sliding-time-window/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta organiza os dados em 'janelas' de tempo. Ela pode mover dados antigos para um local mais lento ou excluí-los, mantendo os dados recentes sempre acessíveis rapidamente.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill qdrant-sliding-time-window

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/qdrant-scaling/scaling-data-volume/sliding-time-window/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Escalando com Janela Deslizante de Tempo

Use quando apenas dados recentes precisam de busca rápida -- posts de redes sociais, artigos de notícias, tickets de suporte, logs, vagas de emprego. Dados antigos se tornam irrelevantes ou podem tolerar acesso mais lento.

Três estratégias: rotação de shard (recomendado), rotação de coleção (quando a configuração por período difere) e filtrar e deletar (mais simples, para limpeza contínua).

Rotação de Shard (Recomendado)

Use quando: os dados têm limites naturais de tempo (diário, semanal, mensal). Preferido porque as consultas abrangem todos os períodos de tempo em uma única requisição, sem fan-out no nível da aplicação. Sharding definido pelo usuário

  1. Crie uma coleção com sharding definido pelo usuário habilitado
  2. Crie uma chave de shard por período de tempo (ex: 2025-01, 2025-02, ..., 2025-06)
  3. Ingesta dados na chave de shard do período atual
  4. Quando um novo período começar, crie uma nova chave de shard e redirecione as escritas
  5. Delete a chave de shard mais antiga fora da janela de retenção
  • Deletar uma chave de shard recupera todos os recursos instantaneamente (sem fragmentação, sem sobrecarga do otimizador)
  • Pré-crie a chave de shard do próximo período antes da rotação para evitar interrupção na escrita
  • Use shard_key_selector no momento da consulta para buscar apenas períodos específicos para eficiência
  • Chaves de shard podem ser colocadas em nós específicos para tiering hot/cold

Rotação de Coleção (Troca de Alias)

Use quando: você precisa de configuração de coleção por período (ex: diferentes configurações de quantização ou armazenamento). Aliases de coleção

  1. Crie uma coleção por período de tempo, aponte um alias de escrita para a mais nova
  2. Consulte todas as coleções ativas em paralelo, mescle os resultados no lado do cliente
  3. Quando um novo período começar, crie a nova coleção e troque o alias de escrita Trocar coleção
  4. Remova a coleção mais antiga fora da janela

Trade-off vs rotação de shard: permite diferenças de configuração por coleção, mas requer fan-out no nível da aplicação e mais sobrecarga operacional.

Filtrar e Deletar

Use quando: os dados chegam continuamente sem limites claros de tempo, ou você quer a configuração mais simples.

  1. Armazene um payload timestamp em cada ponto, crie um índice de payload nele Índice de payload
  2. Filtre para a janela desejada no momento da consulta usando a condição range Filtro de intervalo
  3. Periodicamente delete pontos expirados usando delete-by-filter Deletar pontos
  • Execute a limpeza durante horários de menor movimento em lotes (10k-50k pontos) para evitar bloqueios do otimizador
  • Deletes não são gratuitos: pontos marcados para exclusão degradam a busca até que o otimizador compacte os segmentos
  • Não recupera disco instantaneamente (compactação é assíncrona)

Tiers Hot/Cold

Use quando: dados recentes precisam de busca rápida em RAM, dados mais antigos devem permanecer pesquisáveis com menor desempenho.

  • Rotação de shard: coloque a chave de shard atual em nós de armazenamento rápido, mova chaves de shard mais antigas para nós mais baratos via posicionamento de shard. Todas as consultas ainda passam por uma única coleção.
  • Rotação de coleção: mantenha a coleção atual em RAM (always_ram: true), mova coleções mais antigas para vetores mmap/em disco. Quantização

O Que NÃO Fazer

  • Não use filtrar e deletar para séries temporais de alto volume com milhões de deletes diários (use rotação em vez disso)
  • Não se esqueça de indexar o campo de timestamp (filtros de intervalo sem índice causam varreduras completas)
  • Não use rotação de coleção quando a rotação de shard seria suficiente (complexidade de fan-out desnecessária)
  • Não remova uma chave de shard ou coleção antes de verificar se o período dela está totalmente fora da janela de retenção
  • Não pule a pré-criação da chave de shard ou coleção do próximo período (falhas de escrita durante a rotação são difíceis de recuperar)
Perguntas frequentes

Qual a melhor forma de organizar dados por tempo?

A rotação de 'shard' é geralmente recomendada, pois permite buscas rápidas em todos os períodos sem complicação extra.

O que acontece com os dados antigos?

Eles podem ser movidos para um armazenamento mais lento ou excluídos completamente, dependendo da sua necessidade.

É seguro remover dados antigos?

Sim, a ferramenta oferece métodos seguros para excluir dados antigos, garantindo que os dados importantes permaneçam acessíveis.

Detalhes

Descrição original do autor

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'.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5310
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas