Terminologia
AutoID
AutoID é um atributo do campo primário que determina se a funcionalidade AutoIncrement deve ser ativada para esse campo. O valor de AutoID é definido com base num carimbo de data/hora. Para mais informações, consulte create_schema.
Índice automático
O Milvus decide automaticamente o tipo de índice e os parâmetros mais adequados para um campo específico com base 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 efetuar ajustes em tempo real. Também suporta cópias de segurança de ficheiros do etcd, ajudando os programadores na resolução de problemas.
Bulk Writer
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.
Bulk Insert
O Bulk Insert é uma API que melhora o desempenho de gravação, permitindo que vários ficheiros sejam importados numa única solicitação, otimizando as operações com grandes conjuntos de dados.
Cardinal
O Cardinal, desenvolvido pela Zilliz Cloud, é um algoritmo de pesquisa vetorial de última geração que oferece qualidade e desempenho de pesquisa inigualáveis. Com o seu design inovador e otimizações abrangentes, o Cardinal supera o Knowhere em várias vezes, até uma ordem de magnitude, ao mesmo tempo que lida de forma adaptativa com diversos cenários de produção, tais como tamanhos variáveis de K, filtragem elevada, diferentes distribuições de dados, etc.
Channel
O Milvus utiliza dois tipos de canais, o PChannel e o VChannel, como parte da sua arquitetura de serviço de streaming. Cada PChannel corresponde a um fluxo WAL gerido pelo Woodpecker, enquanto cada VChannel corresponde a um fragmento numa coleção. O serviço de streaming gere estes canais para garantir a consistência dos dados e a recuperação de falhas.
Coleção
No 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 utilizados para armazenar e gerir entidades. Para mais informações, consulte «Gerir coleções».
Dependência
Uma dependência é um programa do qual outro programa depende para funcionar. As dependências do Milvus incluem o etcd (armazena metadados), o MinIO ou o S3 (armazenamento de objetos) e uma fila de mensagens, como o Woodpecker (gere registos de instantâneos). Para mais informações, consulte Infraestrutura de dados.
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. Pode ativar esta funcionalidade sem esquema ativando o campo dinâmico ao criar uma coleção. Para mais informações, consulte Ativar Campo Dinâmico.
Incorporações
O Milvus oferece funções de incorporação integradas que funcionam com os principais fornecedores de incorporação. Antes de criar uma coleção no Milvus, pode utilizar estas funções para gerar incorporações para os seus conjuntos de dados, simplificando o processo de preparação de dados e pesquisas vetoriais. Para criar incorporações na prática, consulte «Utilizar o modelo do PyMilvus para gerar incorporações de texto».
Entidade
Uma entidade consiste num grupo de campos que representam objetos do mundo real. Cada entidade no Milvus é representada por uma chave primária única.
Pode personalizar as chaves primárias. Se não as configurar manualmente, o Milvus atribui automaticamente a chave primária às entidades. Se optar por personalizar a chave primária, tenha em atenção que, por enquanto, o Milvus não suporta a deduplicação de chaves primárias. Por conseguinte, podem existir chaves primárias duplicadas na mesma coleção. Para mais informações, consulte «Inserir entidades».
Campo
Um campo numa coleção do 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 vetoriais para vetores de incorporação.
Filtro
O Milvus suporta a filtragem escalar através da pesquisa com predicados, permitindo-lhe definir condições de filtragem em consultas e pesquisas para refinar os resultados.
Pesquisa filtrada
A pesquisa filtrada aplica filtros escalares a pesquisas vetoriais, permitindo-lhe refinar os resultados da pesquisa com base em critérios específicos. Para mais informações, consulte Pesquisa filtrada.
Pesquisa híbrida
A Pesquisa Híbrida é uma API para pesquisa híbrida desde a versão 2.4.0 do Milvus. Pode pesquisar vários campos vetoriais e fundi-los. No caso de uma pesquisa vetorial combinada com filtragem de campos escalares, esta é 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 similaridade vetorial. O Milvus suporta uma vasta gama de tipos de índices, tanto para campos vetoriais como para campos escalares. Para mais informações, consulte Tipos de índices vetoriais.
Conector Kafka-Milvus
O Conector Kafka-Milvus refere-se a um conector de destino do Kafka para o Milvus. Permite-lhe transmitir dados vetoriais do Kafka para o Milvus.
Knowhere
O Knowhere é o motor central de execução vetorial do Milvus, que incorpora várias bibliotecas de pesquisa de similaridade vetorial, incluindo Faiss, Hnswlib e Annoy. O Knowhere também foi concebido para suportar computação heterogénea. Controla em que hardware (CPU ou GPU) se deve executar a construção de índices e os pedidos de pesquisa. É daí que o Knowhere deriva o seu nome — saber onde executar as operações.
Instantâneo de registo
Um instantâneo de registo é um registo binário, uma unidade mais pequena dentro de um segmento que regista e processa as atualizações e alterações feitas aos dados no Milvus. Os dados de um segmento são armazenados de forma persistente em vários registos binários. Existem três tipos de registos binários no Milvus: InsertBinlog, DeleteBinlog e DDLBinlog. Para mais informações, consulte Armazenamento de metadados.
Tipo de métrica
Os tipos de métricas de similaridade são utilizados para medir as semelhanças entre vetores. Atualmente, o Milvus suporta a distância euclidiana (L2), o produto interno (IP), a similaridade 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 mais informações, consulte Métricas de similaridade.
MemoryBuffer
O MemoryBuffer é um modo de implementação leve do Woodpecker que armazena temporariamente em buffer as gravações recebidas na memória e as transfere periodicamente para o armazenamento de objetos na nuvem. Este modo é mais adequado para cargas de trabalho com grande volume de processamento em lote em implementações de menor escala ou em ambientes de produção que priorizam a simplicidade em detrimento do desempenho. Para mais informações, consulte Arquitetura do Woodpecker.
Mmap
Os ficheiros mapeados na memória permitem um tratamento eficiente dos dados, mapeando o conteúdo dos ficheiros diretamente na memória. Isto é especialmente útil quando a memória é limitada e não é possível carregar todos os dados. Esta técnica pode aumentar a capacidade de dados e manter o desempenho até certo ponto. No entanto, se os dados excederem significativamente a capacidade da memória, as velocidades de pesquisa e consulta poderão diminuir significativamente. Para mais informações, consulte Armazenamento de Dados com MMap.
Milvus Backup
O Milvus Backup é uma ferramenta para criar cópias de dados, que podem ser utilizadas para restaurar o original após um evento de perda de dados.
Milvus CDC
O Milvus CDC (captura de alterações de dados) é uma ferramenta utilizada para replicar alterações de dados de um cluster Milvus para outro, para recuperação de desastres em modo primário-de reserva.
CLI do Milvus
A Interface de Linha de Comandos (CLI)do Milvus é uma ferramenta de linha de comandos que suporta a ligação à base de dados, operações sobre os dados e a importação e exportação de dados. Baseada no SDK Python do Milvus, permite a execução de comandos através de um terminal utilizando prompts interativos de linha de comandos.
Milvus Migration
A Migração Milvus é 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 Milvus
Na implementação do Milvus em cluster, os serviços são fornecidos por um grupo de nós para garantir 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 similaridade vetorial, são realizadas num único processo.
Multivetor
O Milvus suporta múltiplos campos vetoriais numa única coleção desde a versão 2.4.0. Para 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. Este processo denomina-se particionamento, e cada partição pode conter vários segmentos. Para mais informações, consulte «Gerir Partições».
Chave de partição
O atributo «chave de partição» de um campo permite a separação de entidades em partições distintas com base nos seus valores de chave de partição. Este agrupamento garante que as entidades que partilham o mesmo valor de chave sejam armazenadas em conjunto, o que pode acelerar as operações de pesquisa, permitindo que o sistema ignore partições irrelevantes durante consultas filtradas pelo campo da chave de partição. Para mais informações, consulte «Utilizar a chave de partição».
PChannel
PChannel significa canal físico. Cada PChannel corresponde a um fluxo WAL gerido pelo Woodpecker. Por predefinição, será atribuído um grupo de PChannels para armazenar registos que registam a inserção, eliminação e atualização de dados quando o cluster Milvus é iniciado. Para mais informações, consulte Serviço de streaming.
PyMilvus
O PyMilvus é um SDK em Python do Milvus. O seu código-fonte é de código aberto e está alojado no GitHub. Tem a flexibilidade de escolher entre o MilvusClient (nova versão do SDK em Python) ou o módulo ORM original para comunicar com o Milvus.
Query
A consulta é uma API que realiza filtragem escalar utilizando uma expressão booleana especificada como filtro. Para mais informações, consulte Obter e consulta escalar.
QuorumBuffer
O QuorumBuffer é um modo de implementação do Woodpecker concebido para cargas de trabalho de leitura/gravação de alta frequência e sensíveis à latência, que exigem tanto capacidade de resposta em tempo real como forte tolerância a falhas. Funciona como um buffer de gravação de alta velocidade com gravações de quórum de três réplicas, garantindo forte consistência e alta disponibilidade. Para mais informações, consulte «Arquitetura do Woodpecker».
Pesquisa por intervalo
A pesquisa por intervalo permite-lhe encontrar vetores que se encontram dentro de uma distância especificada do seu vetor de pesquisa. Para mais informações, consulte Pesquisa por intervalo.
Esquema
O esquema é a metainformação que define o tipo de dados e as propriedades dos dados. Cada coleção tem o seu próprio esquema de coleção, que define todos os campos da coleção, a ativação da atribuição automática de ID (chave primária) e a 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».
Pesquisa
A Pesquisa é uma API que executa uma operação para realizar uma pesquisa de similaridade de vetores, necessitando de dados vetoriais para a sua execução. Para mais informações, consulte Pesquisa de vetor único.
Segmento
Um segmento é um ficheiro de dados criado automaticamente que armazena os dados inseridos. Uma coleção pode conter vários segmentos, e cada segmento pode conter inúmeras entidades. Durante uma pesquisa de similaridade vetorial, o 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 deixa de aceitar novos dados e é transferido para o armazenamento de objetos. Entretanto, os dados recebidos são encaminhados para um novo segmento em crescimento. A transição de um segmento em crescimento para um segmento selado é desencadeada quer pelo atingimento do limite de entidades predefinido, quer pela ultrapassagem da duração máxima permitida no estado de crescimento. Para mais informações, consulte «Detalhes de conceção».
Conector Spark-Milvus
O Conector Spark-Milvus proporciona uma integração perfeita entre o Apache Spark e o Milvus, combinando as funcionalidades de processamento de dados e de aprendizagem automática (ML) do Apache Spark com as capacidades de armazenamento de dados vetoriais e de pesquisa do Milvus.
Fragmento
O Milvus melhora o desempenho da gravação de dados ao distribuir as operações de gravação por vários nós utilizando fragmentos, que são organizados com base no hash das chaves primárias. Isto tira partido das capacidades de computação paralela do cluster.
O particionamento serve para reduzir a carga de leitura através da especificação de um nome de partição, enquanto o fragmento distribui a carga de escrita por vários servidores.
Vetor esparso
Os vetores esparsos representam palavras ou frases utilizando incorporações vetoriais 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 vetores esparsos, como o SPLADEv2, superam os modelos densos na pesquisa de conhecimento fora do domínio, na reconhecimento de palavras-chave e na interpretabilidade. Para mais informações, consulte Vetores esparsos.
Serviço de streaming
O Serviço de streaming é um conceito para o módulo do sistema de streaming interno do Milvus, construído em torno do Write-Ahead Log (WAL) para suportar várias funções relacionadas com o streaming. Estas incluem a ingestão/subscrição de dados de streaming, a recuperação de falhas do estado do cluster, a conversão de dados de streaming em dados históricos e consultas a conjuntos de dados em crescimento. O serviço é composto pelos componentes Coordenador de Streaming, Cluster de Nós de Streaming e Cliente de Streaming. Para mais informações, consulte Serviço de Streaming.
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 ou forma de organização predefinidos. Este tipo de dados representa cerca de 80% dos dados mundiais e pode ser convertido em vetores utilizando vários modelos de inteligência artificial (IA) e de aprendizagem automática (ML).
VChannel
VChannel significa canal virtual. 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 separados logicamente, mas partilham recursos fisicamente através do serviço de streaming. Para mais informações, consulte Serviço de Streaming.
Vetor
Um vetor de incorporação é uma abstração de características de dados não estruturados, tais como e-mails, dados de sensores de IoT, fotografias do Instagram, estruturas de proteínas e muito mais. Matematicamente falando, um vetor de incorporação é uma matriz de números de ponto flutuante ou binários. São utilizadas técnicas modernas de incorporação para converter dados não estruturados em vetores de incorporação. O Milvus suporta tanto vetores densos como esparsos desde a versão 2.4.0.
Armazenamento WAL
O armazenamento Write-Ahead Log (WAL) é a base da durabilidade e consistência dos dados em sistemas distribuídos. Antes de qualquer alteração ser confirmada, esta é primeiro registada num registo — garantindo que, em caso de falha, é possível recuperar exatamente a partir do ponto em que se parou. O Milvus utiliza o Woodpecker como sistema de armazenamento WAL, que suporta os modos «MemoryBuffer» e «QuorumBuffer». Para mais informações, consulte a Arquitetura do Woodpecker.
Woodpecker
O Woodpecker é um sistema WAL nativo da nuvem no Milvus 2.6 que substitui o Kafka e o Pulsar. Com uma arquitetura sem disco e dois modos de implementação (MemoryBuffer e QuorumBuffer), proporciona um elevado débito, baixos custos operacionais e escalabilidade contínua no armazenamento de objetos. Para mais informações, consulte a Arquitetura do Woodpecker.
Zilliz Cloud
Milvus totalmente gerido na Zilliz Cloud, com mais funcionalidades empresariais e desempenho altamente otimizado.