milvus-logo
LFAI
Home
  • Conceitos

Terminologia

AutoID

AutoID é um atributo do campo primário que determina se deve ser ativado o AutoIncrement para o campo primário. O valor de AutoID é definido com base num carimbo de data/hora. Para obter mais informações, consulte create_schema.

Índice automático

Milvus decide automaticamente o tipo de índice mais apropriado e os parâmetros para um campo específico baseado em dados empíricos. Isto é ideal para situações em que não é necessário controlar os parâmetros específicos do índice. Para mais informações, consulte add_index.

Attu

O Attu é uma ferramenta de administração tudo-em-um para o Milvus que reduz significativamente a complexidade e o custo da gestão do sistema.

Birdwatcher

O Birdwatcher é uma ferramenta de depuração para o Milvus que se liga ao etcd, permitindo-lhe monitorizar o estado do servidor Milvus e fazer ajustes em tempo real. Também suporta backups de ficheiros etcd, ajudando os programadores na resolução de problemas.

Gravador em massa

O Bulk Writer é uma ferramenta de processamento de dados fornecida pelos SDKs do Milvus (por exemplo, PyMilvus, Java SDK), concebida para converter conjuntos de dados brutos num formato compatível com o Milvus para uma importação eficiente.

Inserção em massa

Bulk Insert é uma API que melhora o desempenho da escrita ao permitir a importação de vários ficheiros num único pedido, optimizando as operações com grandes conjuntos de dados.

Cardinal

O Cardinal, desenvolvido pela Zilliz Cloud, é um algoritmo de pesquisa vetorial de ponta que proporciona uma qualidade e desempenho de pesquisa sem paralelo. Com o seu design inovador e optimizações extensivas, o Cardinal supera o Knowhere em várias vezes a uma ordem de grandeza, ao mesmo tempo que lida adaptativamente com diversos cenários de produção, tais como tamanhos K variáveis, filtragem elevada, diferentes distribuições de dados, etc.

Canal

Milvus utiliza dois tipos de canais, PChannel e VChannel. Cada PChannel corresponde a um tópico para armazenamento de log, enquanto cada VChannel corresponde a um shard numa coleção.

Coleção

Em Milvus, uma coleção é equivalente a uma tabela num sistema de gestão de bases de dados relacionais (RDBMS). As coleções são os principais objetos lógicos usados para armazenar e gerenciar entidades. Para mais informações, consulte Gerir colecções.

Dependência

Uma dependência é um programa do qual outro programa depende para funcionar. As dependências do Milvus incluem etcd (armazena metadados), MinIO ou S3 (armazenamento de objectos) e Pulsar (gere registos de snapshot). Para obter mais informações, consulte Gerenciar dependências.

Esquema dinâmico

O esquema dinâmico permite-lhe inserir entidades com novos campos numa coleção sem modificar o esquema existente. Isto significa que pode inserir dados sem conhecer o esquema completo de uma coleção e pode incluir campos que ainda não estão definidos. É possível ativar esta capacidade sem esquema activando o campo dinâmico ao criar uma coleção. Para obter mais informações, consulte Ativar campo dinâmico.

Embeddings

O Milvus oferece funções de incorporação incorporadas que funcionam com fornecedores de incorporação populares. Antes de criar uma coleção no Milvus, pode usar estas funções para gerar embeddings para os seus conjuntos de dados, simplificando o processo de preparação de dados e pesquisas vectoriais. Para criar embeddings em ação, consulte Utilizar o modelo do PyMilvus para gerar embeddings de texto.

Entidade

Uma entidade consiste num grupo de campos que representam objectos do mundo real. Cada entidade no Milvus é representada por uma chave primária única.

É possível personalizar as chaves primárias. Se não for configurada manualmente, o Milvus atribui automaticamente a chave primária às entidades. Se optar por personalizar a chave primária, note que Milvus não suporta a desduplicação de chaves primárias por enquanto. Portanto, pode haver chaves primárias duplicadas na mesma coleção. Para obter mais informações, consulte Inserir entidades.

Campo

Um campo numa coleção Milvus é equivalente a uma coluna de uma tabela num RDBMS. Os campos podem ser campos escalares para dados estruturados (por exemplo, números, cadeias de caracteres) ou campos vectoriais para incorporar vectores.

Filtro

O Milvus suporta a filtragem escalar através da pesquisa com predicados, permitindo-lhe definir condições de filtragem nas consultas e pesquisas para refinar os resultados.

A pesquisa filtrada aplica filtros escalares a pesquisas vectoriais, permitindo-lhe refinar os resultados da pesquisa com base em critérios específicos. Para obter mais informações, consulte Pesquisa filtrada.

A Pesquisa híbrida é uma API para pesquisa híbrida desde o Milvus 2.4.0. Pode pesquisar vários campos vectoriais e fundi-los. A pesquisa vetorial combinada com a filtragem de campos escalares é designada por "pesquisa filtrada". Para mais informações, consulte Pesquisa híbrida.

Índice

Um índice vetorial é uma estrutura de dados reorganizada derivada de dados brutos que pode acelerar significativamente o processo de pesquisa de semelhança vetorial. O Milvus suporta uma vasta gama de tipos de índices, tanto para campos vectoriais como para campos escalares. Para obter mais informações, consulte Tipos de índices vetoriais.

Conector Kafka-Milvus

O Conector Kafka-Milvus refere-se a um conetor de sumidouro Kafka para Milvus. Ele permite que você transmita dados vetoriais do Kafka para o Milvus.

Knowhere

Knowhere é o mecanismo de execução vetorial central do Milvus que incorpora várias bibliotecas de pesquisa de similaridade vetorial, incluindo Faiss, Hnswlib e Annoy. O Knowhere foi também concebido para suportar a computação heterogénea. Controla em que hardware (CPU ou GPU) executar a criação de índices e os pedidos de pesquisa. É assim que o Knowhere recebe o seu nome - saber onde executar as operações.

Corretor de registos

O corretor de registos é um sistema de publicação-subscrição que suporta a reprodução. É responsável pela persistência de dados de streaming, pela execução de consultas assíncronas fiáveis, pela notificação de eventos e pelo retorno dos resultados das consultas. Também assegura a integridade dos dados incrementais quando os nós de trabalho recuperam de uma avaria do sistema.

Instantâneo de registo

Um instantâneo de registo é um registo binário, uma unidade mais pequena no segmento que regista e trata as actualizações e alterações feitas aos dados no Milvus. Os dados de um segmento são mantidos em vários binlogs. Existem três tipos de binlogs no Milvus: InsertBinlog, DeleteBinlog e DDLBinlog. Para obter mais informações, vide Meta storage.

Assinante de log

Os assinantes de log assinam a seqüência de logs para atualizar os dados locais e fornecer serviços na forma de cópias somente leitura.

Depósito de mensagens

O armazenamento de mensagens é o mecanismo de armazenamento de registos do Milvus. O Milvus suporta Kafka ou Pulsa como armazenamento de mensagens. Para obter mais informações, consulte Configurar o armazenamento de mensagens.

Tipo de métrica

Os tipos de métricas de semelhança são utilizados para medir as semelhanças entre vectores. Atualmente, o Milvus suporta a distância euclidiana (L2), o produto interno (IP), a semelhança cosseno (COSINE) e os tipos de métricas binárias. Pode escolher o tipo de métrica mais adequado com base no seu cenário. Para obter mais informações, consulte Métricas de similaridade.

Mmap

Os ficheiros com mapeamento de memória permitem um tratamento eficiente dos dados, mapeando o conteúdo dos ficheiros diretamente para a memória. Isso é especialmente útil quando a memória é limitada e não é possível carregar todos os dados. Essa técnica pode aumentar a capacidade de dados e manter o desempenho até certo ponto. No entanto, se os dados excederem muito a capacidade da memória, as velocidades de pesquisa e consulta podem diminuir significativamente. Para obter mais informações, consulte Armazenamento de dados ativado por MMap.

Backup do Milvus

O Milvus Backup é uma ferramenta para criar cópias de dados, que podem ser usadas para restaurar o original após um evento de perda de dados.

Milvus CDC

Milvus CDC (Change data capture) é uma ferramenta de fácil utilização que pode capturar e sincronizar dados incrementais em instâncias Milvus. Garante a fiabilidade dos dados empresariais, transferindo-os sem problemas entre as instâncias de origem e de destino, permitindo um backup incremental fácil e a recuperação de desastres.

Milvus CLI

O Milvus Command-Line Interface (CLI) é uma ferramenta de linha de comando que suporta a ligação à base de dados, operações de dados e importação e exportação de dados. Baseado no Milvus Python SDK, permite a execução de comandos através de um terminal utilizando prompts de linha de comando interactivos.

Migração Milvus

O Milvus Migration é uma ferramenta de código aberto concebida para facilitar a migração de dados de várias fontes de dados para o Milvus 2.x.

Cluster do Milvus

Na implantação em cluster do Milvus, os serviços são fornecidos por um grupo de nós para alcançar alta disponibilidade e fácil escalabilidade.

Milvus autónomo

Na implementação autónoma do Milvus, todas as operações, incluindo a inserção de dados, a criação de índices e a pesquisa de semelhanças vectoriais, são concluídas num único processo.

Multi-vetorial

O Milvus suporta múltiplos campos vetoriais em uma coleção desde a versão 2.4.0. Para obter mais informações, consulte Pesquisa híbrida.

Partição

Uma partição é uma divisão de uma coleção. O Milvus suporta a divisão dos dados da coleção em várias partes no armazenamento físico. Esse processo é chamado de particionamento, e cada partição pode conter vários segmentos. Para obter mais informações, consulte Gerenciar partições.

Chave de partição

O atributo de chave de partição de um campo permite a segregação de entidades em partições distintas com base nos seus valores de chave de partição. Esse agrupamento garante que as entidades que compartilham o mesmo valor de chave sejam armazenadas juntas, o que pode acelerar as operações de pesquisa, permitindo que o sistema ignore partições irrelevantes durante as consultas filtradas pelo campo de chave de partição. Para obter mais informações, consulte Usar chave de partição.

PChannel

PChannel significa canal físico. Cada PChannel corresponde a um tópico para armazenamento de logs. Por padrão, um grupo de 16 PChannels será atribuído para armazenar logs que registram a inserção, exclusão e atualização de dados quando o cluster Milvus é iniciado. Para obter mais informações, consulte Configurações relacionadas ao canal de mensagens.

PyMilvus

PyMilvus é um SDK Python do Milvus. O seu código-fonte é de fonte aberta e está alojado no GitHub. Tem a flexibilidade de escolher MilvusClient (nova versão do Python SDK) ou o módulo ORM original para falar com Milvus.

Consulta

A consulta é uma API que efectua filtragem escalar com uma expressão booleana especificada como filtro. Para obter mais informações, consulte Obter e consulta escalar.

A pesquisa de intervalo permite-lhe encontrar vectores que se encontram a uma distância especificada do seu vetor de pesquisa. Para obter mais informações, consulte Pesquisa de intervalo.

Esquema

O esquema é a meta-informação que define o tipo de dados e a propriedade de dados. Cada coleção tem o seu próprio esquema de coleção que define todos os campos de uma coleção, ID automática (chave primária), habilitação de atribuição e descrição da coleção. Os esquemas de campo também estão incluídos nos esquemas de coleção, que definem o nome, o tipo de dados e outras propriedades de um campo. Para mais informações, consulte Gerir esquema.

A pesquisa é uma API que executa uma operação para efetuar uma pesquisa de semelhança de vectores, necessitando de dados de vectores para a sua execução. Para obter mais informações, consulte Pesquisa de vetor único.

Segmento

Um segmento é um arquivo de dados criado automaticamente que armazena dados inseridos. Uma coleção pode conter vários segmentos, e cada segmento pode conter várias entidades. Durante uma pesquisa de similaridade vetorial, Milvus examina cada segmento para compilar os resultados da pesquisa.

Existem dois tipos de segmentos: em crescimento e selados. Um segmento em crescimento continua a recolher novos dados até atingir um limiar específico ou um limite de tempo, após o qual se torna selado. Uma vez selado, um segmento não aceita mais novos dados e é transferido para o armazenamento de objetos. Entretanto, os dados de entrada são encaminhados para um novo segmento em crescimento. A transição de um segmento crescente para um selado é acionada ao atingir o limite de entidade predefinido ou ao exceder a duração máxima permitida no estado crescente. Para obter mais informações, consulte Detalhes do projeto.

Conector Spark-Milvus

O Conector Spark-Milvus fornece uma integração perfeita entre o Apache Spark e o Milvus, combinando os recursos de processamento de dados e aprendizado de máquina (ML) do Apache Spark com os recursos de pesquisa e armazenamento de dados vetoriais do Milvus.

Fragmento

O Milvus melhora o desempenho da gravação de dados ao distribuir operações de gravação em vários nós usando shards, que são organizados com base no hashing de chaves primárias. Isso aproveita os recursos de computação paralela do cluster.

O particionamento funciona para reduzir a carga de leitura especificando um nome de partição, enquanto o sharding distribui a carga de escrita entre vários servidores.

Vetor esparso

Os vectores esparsos representam palavras ou frases utilizando a incorporação de vectores em que a maioria dos elementos é zero, sendo que apenas um elemento diferente de zero indica a presença de uma palavra específica. Os modelos de vectores esparsos, como o SPLADEv2, superam os modelos densos na pesquisa de conhecimento fora do domínio, na consciencialização de palavras-chave e na interpretabilidade. Para mais informações, consulte Vectores esparsos.

Dados não estruturados

Os dados não estruturados, incluindo imagens, vídeo, áudio e linguagem natural, são informações que não seguem um modelo predefinido ou uma forma de organização. Este tipo de dados representa cerca de 80% dos dados do mundo e pode ser convertido em vectores utilizando vários modelos de inteligência artificial (IA) e de ML.

VChannel

VChannel significa canal lógico. Cada VChannel representa um fragmento numa coleção. A cada coleção será atribuído um grupo de VChannels para registar a inserção, eliminação e atualização de dados. Os VChannels estão logicamente separados, mas partilham recursos fisicamente.

Vetor

Um vetor de incorporação é uma abstração de recursos de dados não estruturados, como emails, dados de sensores IoT, fotos do Instagram, estruturas de proteínas e muito mais. Em termos matemáticos, um vetor de incorporação é uma matriz de números de vírgula flutuante ou binários. As técnicas modernas de incorporação são utilizadas para converter dados não estruturados em vectores de incorporação. O Milvus suporta vectores densos e esparsos desde a versão 2.4.0.

Nuvem Zilliz

Milvus totalmente gerido no Zilliz Cloud, com mais funcionalidades empresariais e desempenho altamente optimizado.