Esta página fornece detalhes sobre os recursos e limitações da pesquisa vetorial.
Disponibilidade
A pesquisa vetorial está disponível em todas as versões do Memorystore for Valkey em todos os níveis e regiões com suporte.
Somente as instâncias criadas após 13 de setembro de 2024 têm a pesquisa vetorial ativada.
Restrições de índice
A seguir, descrevemos 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 M do HNSW não pode exceder 2 milhões.
- O valor de construção de EF para HNSW não pode exceder 4.096.
- O valor de execução de EF para HNSW também não pode exceder 4.096.
Impactos na performance
Ao considerar a performance da pesquisa vetorial, há algumas variáveis importantes a serem consideradas.
Tipo de nó
A pesquisa vetorial facilita o escalonamento 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 será vinculada ao número de vCPUs em cada nó da instância. Para mais detalhes sobre o número de vCPUs disponíveis em cada tipo de nó, consulte Características do nó.
Número de fragmentos
O Memorystore for 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 serão escalonados linearmente com o número de fragmentos na instância.
Como cada índice local contém apenas o conteúdo de um único fragmento, a pesquisa na instância exige a pesquisa de cada fragmento na instância e a agregação dos resultados. Com uma quantidade estável de vetores, aumentar o número de fragmentos vai melhorar a performance da pesquisa logaritmicamente para índices HNSW e linearmente para índices FLAT devido ao menor número de 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. Apesar disso, até mesmo as maiores instâncias oferecem suporte a latências de milissegundos de um dígito.
Número de réplicas
A adição de réplicas extras vai aumentar a capacidade de processamento de pesquisa linearmente, permitindo o balanceamento de carga de solicitações de pesquisa para réplicas de leitura.
Eventos de escalonamento
Ao redimensionar a instância do Memorystore for Valkey, os documentos nos índices serão movidos para distribuir os dados de maneira uniforme na nova contagem de fragmentos. Quando isso acontece, os documentos 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 FT.INFO
FT.INFO para conferir o progresso da reindexação devido ao redimensionamento da instância.
Consumo de memória
Os vetores são duplicados e armazenados no keyspace 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.