Esta página fornece detalhes sobre os recursos e as limitações da pesquisa de vetores.
Disponibilidade
A pesquisa vetorial está disponível em todas as versões do Memorystore para Valkey em todos os níveis e regiões com suporte.
Somente as instâncias criadas após a data de lançamento de 13 de setembro de 2024 têm a pesquisa vetorial ativada.
Restrições de índice
Confira a seguir as limitações do índice:
- O número máximo de atributos em um índice não pode exceder 10.
- A dimensão de um vetor não pode exceder 32.768.
- O valor de M para HNSW não pode ultrapassar 2M.
- O valor de EF Construct para HNSW não pode exceder 4.096.
- O valor do ambiente de execução do EF para HNSW também não pode ultrapassar 4096.
Impacto na performance
Ao considerar a performance da pesquisa vetorial, há algumas variáveis importantes a serem consideradas.
Tipo do nó
A pesquisa vetorial facilita a escala vertical pela integração de pools de linhas de execução dedicados à execução de operações de pesquisa vetorial. Isso significa que a performance vai estar vinculada ao número de vCPUs em cada nó do cluster. Para saber mais sobre o número de vCPUs disponíveis em cada tipo de nó, consulte Especificação de cluster e nó.
Número de fragmentos
O Memorystore para Valkey implementa uma técnica de indexação local para todos os vetores. Isso significa que o índice armazenado em cada fragmento contém apenas os documentos contidos nesse fragmento. Por isso, a velocidade de indexação e o número total de vetores vão aumentar linearmente com o número de fragmentos no cluster.
Como cada índice local contém apenas o conteúdo de um único fragmento, a pesquisa no cluster exige a pesquisa de cada fragmento no cluster e a agregação dos resultados. Com uma quantidade estável de vetores, aumentar o número de fragmentos vai melhorar o desempenho da pesquisa de forma logarítmica para índices HNSW e linear para índices FLAT devido a menos vetores contidos em cada índice local.
Devido ao aumento da quantidade de trabalho necessária para pesquisar todos os fragmentos, a latência observável para concluir uma determinada solicitação de pesquisa pode aumentar à medida que mais fragmentos são adicionados. No entanto, até mesmo os clusters maiores oferecem suporte a latências de um único dígito em milissegundos.
Número de réplicas
Adicionar mais réplicas vai aumentar a taxa de pesquisa de forma linear, permitindo o balanceamento de carga das solicitações de pesquisa para ler as réplicas.
Eventos de escalonamento
Ao redimensionar a instância do Memorystore para Valkey, os documentos nos índices serão movidos para distribuir os dados de forma uniforme na nova contagem de fragmentos. Quando isso acontece, os documentos que são movidos entre nós são indexados em segundo plano. Depois que a operação de escalonamento for concluída, você poderá monitorar o valor de mutation_queue_size
na saída FT.INFO para conferir o progresso da reindexação devido ao redimensionamento do cluster.
Consumo de memória
Os vetores são duplicados e armazenados no espaço de chaves e no algoritmo de pesquisa vetorial.
Transações
Devido à natureza assíncrona da execução de tarefas por pools de linhas de execução, as operações de pesquisa vetorial não aderem à semântica transacional.