Recursos e limitações

Nesta página, você encontra detalhes sobre os recursos e as limitações da pesquisa vetorial.

Disponibilidade

A pesquisa vetorial está disponível em todas as versões do Memorystore for Redis Cluster em todos os níveis e regiões compatíveis.

Somente as instâncias criadas após a data de lançamento, 13 de setembro de 2024, têm a pesquisa vetorial ativada.

Restrições de indexação

Confira abaixo 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 exceder 2 milhões.
  • O valor de EF Construct para HNSW não pode exceder 4.096.
  • O valor do tempo de execução do EF para HNSW também não pode exceder 4096.

Impactos na performance

Ao considerar a performance da pesquisa vetorial, há algumas variáveis importantes a serem consideradas.

Tipo do nó

A pesquisa vetorial facilita o escalonamento vertical com a integração de pools de linhas de execução dedicados à execução de operações de pesquisa vetorial. Isso significa que o desempenho vai depender do número de vCPUs em cada nó do cluster. Para detalhes 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 for Redis Cluster 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 desse fragmento. Por isso, a velocidade de indexação e o número total de vetores serão dimensionados de forma linear 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 em cada fragmento e a agregação dos resultados. Com uma quantidade estável de vetores, aumentar o número de fragmentos melhora o desempenho da pesquisa de forma logarítmica para índices HNSW e linear para índices FLAT, já que há menos vetores em cada índice local.

Devido ao aumento da quantidade de trabalho necessário 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 os maiores clusters oferecem suporte a latências de milissegundos com um dígito.

Número de réplicas

Adicionar mais réplicas aumenta o throughput de pesquisa de forma linear, permitindo o balanceamento de carga das solicitações de pesquisa para réplicas de leitura.

Eventos de escalonamento

Ao redimensionar o cluster do Redis, os documentos nos seus índices serão movidos para distribuir os dados de maneira uniforme entre a 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, monitore o valor de mutation_queue_size na saída FT.INFO para acompanhar o progresso da reindexação devido ao redimensionamento do cluster.

Consumo de memória

Os vetores são duplicados, sendo armazenados no espaço de chaves do Redis 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 seguem a semântica transacional.