Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Vector storage

Última atualização: Aug 25, 2026

O RDS for MySQL oferece processamento de dados vetoriais de nível empresarial com integração profunda. O service suporta nativamente o armazenamento e a computação de dados vetoriais com até 16.383 dimensões, integra funções vetoriais principais e utiliza um algoritmo HNSW (Hierarchical Navigable Small World) altamente otimizado para fornecer recursos eficientes de busca por vizinhos mais próximos. É possível criar um índice em uma coluna de vetor de dimensão completa.

Recursos

O RDS for MySQL possui suporte nativo ao processamento de dados vetoriais, incluindo armazenamento de vetores, cálculo de similaridade e criação de índices de alto desempenho. Essa capacidade fornece uma solução vetorial pronta para uso em cenários como busca semântica em larga escala, recomendações inteligentes e análise multimodal. Utilize interfaces SQL padrão para integrar perfeitamente a correspondência vetorial de alta precisão a lógicas de negócio complexas. Com essa integração, você constrói e implanta rapidamente aplicações inovadoras de IA em uma arquitetura de baixo custo e alta compatibilidade.

  • Armazenamento, acesso e computação eficientes de vetores de alta dimensão: Permite armazenar dados vetoriais de ponto flutuante com até 16.383 dimensões e introduz o tipo de dado VECTOR. O suporte a interfaces SQL padrão possibilita gravar, atualizar e gerenciar dados vetorizados em lotes diretamente. A tabela a seguir descreve as funções de processamento de vetores suportadas.

    Nome da função

    Descrição

    VECTOR_DIM

    Retorna o número de dimensões de um vetor.

    VEC_FROMTEXT

    Converte uma string em um vetor.

    TO_VECTOR

    STRING_TO_VECTOR

    VEC_TOTEXT

    Converte um vetor em uma string.

    FROM_VECTOR

    VECTOR_TO_STRING

    VEC_DISTANCE

    Calcula a distância entre dois vetores. Se um dos operandos for uma coluna indexada, a função detecta automaticamente o tipo de distância do índice.

    VEC_DISTANCE_EUCLIDEAN

    VEC_DISTANCE_COSINE

  • Índice vetorial de alto desempenho: O índice vetorial utiliza um algoritmo HNSW (Hierarchical Navigable Small World) profundamente otimizado. Técnicas como aceleração de hardware SIMD, poda de busca com filtro Bloom e pushdown de condição LIMIT melhoram significativamente a eficiência de recuperação para dados vetoriais em grande escala. Também há suporte para armazenamento híbrido e consultas conjuntas de dados vetoriais e escalares.

  • Ecossistema open source e usabilidade imediata: O recurso é totalmente compatível com o protocolo MySQL e suporta ferramentas JDBC/ORM, além de frameworks de desenvolvimento populares. A integração com services da Alibaba Cloud, como DTS e DMS, oferece capacidades de ciclo de vida completo, incluindo sincronização de dados, gerenciamento, backup e recuperação. Atualize instâncias existentes com um único clique, sem necessidade de criar um novo cluster.

Aplicabilidade

  • Versão do banco de dados: MySQL 8.0 (versão secundária do mecanismo 20251031 ou posterior). Caso sua instância não atenda aos requisitos de versão, atualize a versão secundária do mecanismo ou atualize a versão principal do mecanismo.

  • Este recurso apresenta as seguintes limitações:

    • Crie índices vetoriais apenas em tabelas que utilizam o mecanismo InnoDB.

    • O comprimento da chave primária da tabela não pode exceder 256 bytes.

    • Não utilize a sintaxe inplace para criar, modificar ou excluir um índice vetorial.

    • Não defina um índice vetorial como INVISIBLE.

    • Não use o recurso Recycle Bin em tabelas que contêm um índice vetorial.

    • Modificações de dados e consultas em um índice vetorial suportam exclusivamente o nível de isolamento Read Committed (RC).

    • Devido à aleatoriedade do algoritmo HNSW, como atribuição aleatória de níveis e algoritmos heurísticos, não há garantia de que a estrutura de grafo do índice vetorial nas instâncias primária e standby seja idêntica.

    • Se um procedimento armazenado ou função no banco de dados de origem usar o tipo vector, a sincronização ou migração para um banco de dados de destino sem suporte a vetores falhará.

Gerenciamento de parâmetros

Parâmetros

Parâmetro

Descrição

vidx_default_distance

• Descrição: Tipo de distância vetorial padrão.
• Escopo: Sessão.
• Tipo de dado: String.
• Valor padrão: EUCLIDEAN.
• Valores válidos:










  • EUCLIDEAN: Distância euclidiana, que calcula a distância em linha reta (distância geométrica) entre dois vetores em um espaço multidimensional.

  • COSINE: Distância cosseno, que calcula o cosseno do ângulo entre dois vetores para medir a similaridade direcional, ignorando o comprimento do vetor.

vidx_hnsw_default_m

• Descrição: Valor M padrão para um índice HNSW (número máximo de arestas de saída para cada nó no grafo).
• Escopo: Sessão.
• Tipo de dado: Integer.
• Valor padrão: 6.
• Faixa de valores: [3, 200].










vidx_hnsw_ef_search

• Descrição: Valor ef_search padrão para uma consulta de índice HNSW (escopo da busca).
• Escopo: Sessão.
• Tipo de dado: Integer.
• Valor padrão: 20.
• Faixa de valores: [1, 10000].










vidx_hnsw_cache_size

• Descrição: Memória máxima que o cache do índice HNSW pode utilizar, em bytes.
• Escopo: Global.
• Tipo de dado: BigInt.
• Valor padrão: 1048576.
• Faixa de valores: [1048576, 18446744073709551615].










Modificar parâmetros

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde reside a instância RDS. Em seguida, localize a instância RDS e clique em ID da instância.

  2. No painel de navegação à esquerda, clique em Parameter Settings.

  3. Na aba Editable Parameters, pesquise o parâmetro que deseja modificar e defina seu valor.

  4. Clique em OK e, em seguida, clique em Submit Parameters. Na caixa de diálogo exibida, selecione quando as alterações devem entrar em vigor.

Nota

Todos os parâmetros relacionados a vetores são dinâmicos. As modificações entram em vigor imediatamente, sem necessidade de reiniciar a instância.

Ativar e usar o armazenamento de vetores

Nota

É possível ativar ou desativar o recurso de vetores sem reiniciar a instância.

Etapa 1: Ativar o suporte a vetores

  1. Acesse o console RDS, selecione a região de destino e clique em ID da instância.

  2. Na página Basic Information, na seção Running Status, localize Vector Storage e clique em Enable.

  3. Quando o status mudar para Enabled, o recurso entrará em vigor imediatamente.

Etapa 2: Criar uma tabela e um índice vetorial

-- Create a table with a 5-dimension vector column and an HNSW index
CREATE TABLE product_embeddings (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  product_name VARCHAR(255),
  embedding VECTOR(5) NOT NULL,
  -- Create a vector index, and specify M (graph connectivity) and the distance metric
  VECTOR INDEX idx_embedding(embedding) M=16 DISTANCE=COSINE
);

Etapa 3: Inserir dados

-- Use the VEC_FROMTEXT function to insert vector data
INSERT INTO product_embeddings (product_name, embedding) VALUES
('product_A', VEC_FROMTEXT('[0.1, 0.2, 0.3, 0.4, 0.5]')),
('product_B', VEC_FROMTEXT('[0.6, 0.7, 0.8, 0.9, 1.0]')),
('product_C', VEC_FROMTEXT('[0.11, 0.22, 0.33, 0.44, 0.55]'));

Etapa 4: Executar uma busca por similaridade vetorial

-- Find the two products that are most similar to the given vector '[0.1, 0.2, 0.3, 0.4, 0.51]'
SELECT
  id,
  product_name,
  VEC_DISTANCE(embedding, VEC_FROMTEXT('[0.1, 0.2, 0.3, 0.4, 0.51]')) AS similarity_score
FROM
  product_embeddings
ORDER BY
  similarity_score ASC -- The smaller the cosine distance, the more similar the vectors are
LIMIT 2;