🚀 Experimente o Zilliz Cloud, o Milvus totalmente gerenciado, gratuitamente—experimente um desempenho 10x mais rápido! Experimente Agora>>

milvus-logo
LFAI
Home
  • Sobre Milvus

Notas de lançamento

Descubra o que há de novo no Milvus! Esta página resume as novas funcionalidades, melhorias, problemas conhecidos e correcções de erros em cada versão. Pode encontrar as notas de lançamento para cada versão lançada após a v2.5.0 nesta secção. Sugerimos que visite regularmente esta página para se informar sobre as actualizações.

v2.5.4

Data de lançamento: 23 de janeiro de 2025

Versão do MilvusVersão do SDK do PythonVersão do SDK do Node.jsVersão do Java SDK
2.5.42.5.42.5.42.5.4

Temos o prazer de anunciar o lançamento do Milvus 2.5.4, que introduz optimizações de desempenho chave e novas funcionalidades, tais como o isolamento PartitionKey, Sparse Index com DAAT MaxScore e mecanismos de bloqueio melhorados. Esta versão também resolve vários erros que melhoram a estabilidade e a fiabilidade gerais. Encorajamo-lo a atualizar ou a experimentar esta última versão, e aguardamos o seu feedback para nos ajudar a aperfeiçoar continuamente o Milvus!

Caraterísticas

  • Suporta o isolamento de PartitionKey para melhorar o desempenho com várias chaves de partição(#39245). Para obter mais informações, consulte Usar chave de partição.
  • O Sparse Index agora suporta DAAT MaxScore knowhere/#1015. Para obter mais informações, consulte Vetor esparso.
  • Adiciona suporte para is_null na expressão(#38931)
  • Os privilégios de raiz podem ser personalizados(#39324)

Melhorias

  • Informação delta dos segmentos em cache para acelerar o Query Coordinator(#39349)
  • Leitura de metadados em simultâneo ao nível da coleção para acelerar a recuperação de falhas(#38900)
  • Granularidade de bloqueio refinada no QueryNode(#39282),(#38907)
  • Estilo unificado usando CStatus para lidar com as chamadas NewCollection CGO(#39303)
  • Saltou a geração do limitador de partição se nenhuma partição estiver definida(#38911)
  • Adicionado mais suporte à API RESTful(#38875)(#39425)
  • Removidos os filtros Bloom desnecessários no QueryNode e DataNode para reduzir a utilização de memória(#38913)
  • Aceleração do carregamento de dados através da aceleração da geração, agendamento e execução de tarefas no QueryCoord(#38905)
  • Reduzido o bloqueio no DataCoord para acelerar as operações de carregamento e inserção(#38904)
  • Adicionados nomes de campos primários em SearchResult e QueryResults (#39222)
  • Utilizado tanto o tamanho do binlog como o tamanho do índice como padrão de limitação da quota do disco(#38844)
  • Optimizada a utilização de memória para pesquisa de texto completo knowhere/#1011
  • Adicionado controlo de versão para índices escalares(#39236)
  • Melhorada a velocidade de obtenção de informação de coleção do RootCoord, evitando cópias desnecessárias(#38902)

Correcções de erros

  • Corrigidos os problemas de consulta lenta causados pela granularidade de bloqueio grosseiro durante o carregamento de várias colunas(#39255)
  • Foi corrigido um problema em que a utilização de aliases podia fazer com que um iterador atravessasse a base de dados errada(#39248)
  • Corrigidas as falhas de pesquisa para chaves primárias com índices(#39390)
  • Corrigido um potencial problema de perda de dados causado pelo reinício do MixCoord e pela descarga em simultâneo(#39422)
  • Corrigida uma falha de atualização do grupo de recursos ao alterar a base de dados(#39356)
  • Foi corrigido um problema esporádico em que o índice tantivy não conseguia eliminar ficheiros de índice durante o lançamento(#39434)
  • Corrigida uma falha de eliminação despoletada por uma concorrência imprópria entre as tarefas de estatísticas e a compactação L0 após o MixCoord reiniciar(#39460)
  • Corrigida a indexação lenta causada por ter demasiadas threads(#39341)
  • Corrigido um problema que impedia que as verificações de quota de disco fossem ignoradas durante a importação em massa(#39319)
  • Resolvidos os problemas de congelamento causados por demasiados consumidores da fila de mensagens, limitando a concorrência(#38915)
  • Corrigidos os timeouts de consulta causados por reinícios do MixCoord durante compactações em grande escala(#38926)
  • Corrigida a incompatibilidade do índice invertido escalar ao atualizar de 2.4 para 2.5(#39272)
  • Corrigidos os problemas de desequilíbrio de canal causados pelo tempo de inatividade do nó(#39200)
  • Corrigido um problema que poderia fazer com que o balanço do canal ficasse preso.(#39160)
  • Corrigido um problema em que as verificações de nível de privilégio do grupo personalizado RBAC se tornavam ineficazes(#39224)
  • Corrigida uma falha ao recuperar o número de linhas em índices vazios(#39210)
  • Corrigida uma estimativa de memória incorrecta para pequenos segmentos(#38909)

v2.5.3

Data de lançamento: 13 de janeiro de 2025

Versão do MilvusVersão do Python SDKVersão do SDK do Node.jsVersão do Java SDK
2.5.32.5.32.5.32.5.4

O Milvus 2.5.3 oferece correcções de erros críticos e melhorias de desempenho para melhorar a estabilidade geral, a fiabilidade e a facilidade de utilização. Esta versão aperfeiçoa o tratamento da concorrência, reforça a indexação e a recuperação de dados e actualiza vários componentes-chave para uma experiência de utilizador mais robusta.

Correcções de erros

  • Foi corrigido um problema em que a utilização de um filtro IN numa chave primária VARCHAR podia devolver resultados vazios.(#39108)
  • Foi corrigido um problema de concorrência entre as operações de consulta e eliminação que podia levar a resultados incorrectos.(#39054)
  • Foi corrigida uma falha causada pela filtragem iterativa quando um expr estava vazio num pedido de consulta.(#39034)
  • Foi corrigido um problema em que um erro de disco durante as actualizações de configuração levava à utilização de definições de configuração predefinidas.(#39072)
  • Corrigida uma potencial perda de dados eliminados devido à compactação de clustering.(#39133)
  • Corrigida uma consulta de correspondência de texto quebrada em segmentos de dados crescentes.(#39113)
  • Corrigidas as falhas de recuperação causadas pelo índice que não continha os dados originais para vectores esparsos.(#39146)
  • Corrigida uma possível condição de corrida de campo de coluna causada por consultas simultâneas e carregamento de dados.(#39152)
  • Corrigidas as falhas de inserção em massa quando os campos nullable ou default_value não estavam incluídos nos dados.(#39111)

Melhorias

  • Adicionada uma API de grupo de recursos para a interface RESTful.(#39092)
  • Optimizado o desempenho da recuperação, aproveitando os métodos SIMD do conjunto de bits.(#39041)
  • Utilizado o carimbo de data/hora MVCC como carimbo de data/hora de garantia quando especificado.(#39019)
  • Adicionada a métrica de eliminação em falta.(#38747)
  • Etcd atualizado para a versão v3.5.16.(#38969)
  • Criado um novo pacote Go para gerir protos.(#39128)

v2.5.2

Data de lançamento: 3 de janeiro de 2025

Versão do MilvusVersão do Python SDKVersão do SDK do Node.jsVersão do Java SDK
2.5.22.5.32.5.32.5.3

O Milvus 2.5.2 suporta a modificação do comprimento máximo das colunas VARCHAR e resolve vários problemas críticos relacionados com a simultaneidade, quedas de partição e tratamento de estatísticas BM25 durante a importação. Recomendamos vivamente a atualização para esta versão para uma maior estabilidade e desempenho.

Melhorias

  • Geração de registos de utilização do disco apenas quando o caminho especificado não existe.(#38822)
  • Adicionado um parâmetro para ajustar o comprimento máximo do VARCHAR e restaurado o limite para 65.535.(#38883)
  • Conversão de tipo de parâmetro suportado para expressões.(#38782)

Correcções de erros

  • Corrigido potenciais bloqueios em cenários de concorrência.(#38863)
  • Gerado o ficheiro index_null_offset apenas para campos que suportam valores nulos.(#38834)
  • Corrigida a utilização do plano de recuperação após o free na fase de redução.(#38841)
  • Reconhecidas expressões com AND e OR em maiúsculas.(#38928)
  • Permitida a queda de partições com sucesso mesmo que o carregamento tenha falhado.(#38874)
  • Corrigidos os problemas de registo do ficheiro BM25 stats durante a importação.(#38881)

v2.5.1

Data de lançamento: December 26, 2024

Versão do MilvusVersão do Python SDKVersão do SDK do Node.jsVersão do Java SDK
2.5.12.5.22.5.22.5.2

O Milvus 2.5.1 concentra-se numa série de correcções de erros que abordam o carregamento de memória, listagens RBAC, equilíbrio de nós de consulta e indexação de segmentos selados, melhorando também a IU Web e os interceptores. Recomendamos vivamente a atualização para a versão 2.5.1 para maior estabilidade e fiabilidade.

Melhorias

  • Atualização das páginas de recolha e consulta da IU da Web.(#38701)

Correcções de erros

  • Corrigidos problemas de OOM adicionando um fator de memória às estimativas de carregamento.(#38722)
  • Corrigida a expansão do grupo de privilégios ao listar políticas no RootCoord.(#38760)
  • Corrigidos os problemas com a listagem de grupos de privilégios e colecções.(#38738)
  • Corrigido o balanceador para evitar sobrecarregar repetidamente o mesmo nó de consulta.(#38724)
  • Corrigidas as tarefas de equilíbrio inesperadas acionadas após o reinício do QueryCoord.(#38725)
  • Corrigidas as actualizações de configuração de carga que não se aplicavam ao carregamento de colecções.(#38737)
  • Corrigida a contagem de leitura zero durante a importação de dados.(#38695)
  • Corrigida a descodificação Unicode para chaves JSON em expressões.(#38653)
  • Corrigido o nome do intercetor DB para alterCollectionField em 2.5. (#38663)
  • Corrigido parâmetros de índice vazios para segmentos selados ao usar a pesquisa de força bruta BM25.(#38752)

v2.5.0

Data de lançamento: 23 de dezembro de 2024

Versão do MilvusVersão do Python SDKVersão do SDK do Node.jsVersão do Java SDK
2.5.02.5.12.5.22.5.2

O Milvus 2.5.0 traz avanços significativos para melhorar a usabilidade, a escalabilidade e o desempenho dos utilizadores que lidam com pesquisa vetorial e gestão de dados em grande escala. Com esta versão, o Milvus integra novas funcionalidades poderosas, como a pesquisa baseada em termos, a compactação de clusters para consultas optimizadas e o suporte versátil para métodos de pesquisa vetorial esparsos e densos. As melhorias na gestão de clusters, indexação e tratamento de dados introduzem novos níveis de flexibilidade e facilidade de utilização, tornando o Milvus uma base de dados vetorial ainda mais robusta e fácil de utilizar.

Caraterísticas principais

Milvus 2.5 suporta pesquisa de texto completo implementada com Sparse-BM25! Esta funcionalidade é um complemento importante às fortes capacidades de pesquisa semântica do Milvus, especialmente em cenários que envolvem palavras raras ou termos técnicos. Em versões anteriores, o Milvus suportava vectores esparsos para ajudar em cenários de pesquisa por palavras-chave. Estes vectores esparsos eram gerados fora do Milvus por modelos neurais como o SPLADEv2/BGE-M3 ou modelos estatísticos como o algoritmo BM25.

Com a ajuda do Tantivy, o Milvus 2.5 tem analisadores integrados e extração de vectores esparsos, alargando a API de apenas receber vectores como entrada para aceitar diretamente texto. As informações estatísticas do BM25 são actualizadas em tempo real à medida que os dados são inseridos, melhorando a facilidade de utilização e a precisão. Além disso, os vectores esparsos baseados em algoritmos de vizinho mais próximo aproximado (ANN) oferecem um desempenho mais poderoso do que os sistemas de pesquisa de palavras-chave padrão.

Para obter detalhes, consulte Visão geral do Analyzer e Pesquisa de texto completo.

WebUI de gestão de clusters (Beta)

Para melhor suportar dados massivos e funcionalidades ricas, o design sofisticado do Milvus inclui várias dependências, numerosas funções de nó, estruturas de dados complexas e muito mais. Estes aspectos podem representar desafios para a utilização e manutenção.

Milvus 2.5 introduz uma WebUI de Gerenciamento de Cluster embutida, reduzindo a dificuldade de manutenção do sistema através da visualização de informações complexas do ambiente de tempo de execução do Milvus. Isso inclui detalhes de bancos de dados e coleções, segmentos, canais, dependências, estado de saúde do nó, informações de tarefas, consultas lentas e muito mais.

Para mais detalhes, consulte Milvus WebUI.

Correspondência de texto

Milvus 2.5 utiliza analisadores e indexação de Tantivy para pré-processamento de texto e construção de índices, suportando correspondência precisa de linguagem natural de dados de texto com base em termos específicos. Esta funcionalidade é utilizada principalmente para pesquisa filtrada para satisfazer condições específicas e pode incorporar filtragem escalar para refinar os resultados da consulta, permitindo pesquisas de semelhança dentro de vectores que satisfazem critérios escalares.

Para obter detalhes, consulte Visão geral do Analyzer e Correspondência de texto.

Índice de bitmap

Um novo índice de dados escalar foi adicionado à família Milvus. O índice BitMap utiliza uma matriz de bits, de comprimento igual ao número de linhas, para representar a existência de valores e acelerar as pesquisas.

Os índices Bitmap têm sido tradicionalmente eficazes para campos de baixa cardinalidade, que têm um número modesto de valores distintos - por exemplo, uma coluna que contém informações de género com apenas dois valores possíveis: masculino e feminino.

Para obter detalhes, consulte Índice de bitmap.

Nullable & Valor Padrão

Milvus agora suporta a configuração de propriedades anuláveis e valores padrão para campos escalares que não sejam o campo de chave primária. Para campos escalares marcados como nullable=True, os utilizadores podem omitir o campo ao inserir dados; o sistema irá tratá-lo como um valor nulo ou valor por defeito (se definido) sem lançar um erro.

Os valores por defeito e as propriedades anuláveis proporcionam uma maior flexibilidade ao Milvus. Os utilizadores podem utilizar esta funcionalidade para campos com valores incertos ao criar colecções. Também simplifica a migração de dados de outros sistemas de base de dados para o Milvus, permitindo a manipulação de conjuntos de dados que contêm valores nulos, preservando as definições originais de valores por defeito.

Para mais informações, consulte Nullable & Default Value.

HNSW SQ/PQ/PRQ baseado em Faiss

Através de uma estreita colaboração com a comunidade Faiss, o algoritmo HNSW em Faiss registou melhorias significativas tanto na funcionalidade como no desempenho. Por questões de estabilidade e manutenção, o Milvus 2.5 migrou oficialmente seu suporte ao HNSW da hnswlib para o Faiss.

Baseado em Faiss, Milvus 2.5 suporta múltiplos métodos de quantização em HNSW para atender às necessidades de diferentes cenários: SQ (Scalar Quantizers), PQ (Product Quantizer), e PRQ (Product Residual Quantizer). SQ e PQ são mais comuns; SQ oferece um bom desempenho de consulta e velocidade de construção, enquanto PQ oferece uma melhor recuperação com o mesmo rácio de compressão. Muitas bases de dados vectoriais utilizam normalmente a quantização binária, que é uma forma simples de quantização SQ.

PRQ é uma fusão de PQ e AQ (Quantizador Aditivo). Em comparação com a PQ, requer tempos de construção mais longos para proporcionar uma melhor recuperação, especialmente a taxas de compressão elevadas, dizendo compressão binária.

Compactação por agrupamento (Beta)

O Milvus 2.5 introduz o Clustering Compaction para acelerar as pesquisas e reduzir os custos em grandes colecções. Ao especificar um campo escalar como uma chave de agrupamento, os dados são redistribuídos por intervalo para otimizar o armazenamento e a recuperação. Agindo como um índice global, este recurso permite que o Milvus retire eficientemente os dados durante as consultas baseadas em metadados de agrupamento, melhorando o desempenho da pesquisa quando filtros escalares são aplicados.

Para obter detalhes, consulte Compactação de clustering.

Outros recursos

Nó de fluxo contínuo (Beta)

O Milvus 2.5 introduz um novo componente chamado nó de streaming, que fornece serviços de Write-Ahead Logging (WAL). Isto permite ao Milvus obter consenso antes e depois de ler e escrever canais, desbloqueando novas caraterísticas, funcionalidades e optimizações. Esta funcionalidade está desactivada por defeito no Milvus 2.5 e estará oficialmente disponível na versão 3.0.

Suporte a IPv6

Milvus agora suporta IPv6, permitindo maior conetividade e compatibilidade de rede.

Importação em massa de CSV

Para além dos formatos JSON e Parquet, o Milvus suporta agora a importação direta em massa de dados em formato CSV.

Modelos de Expressão para Aceleração de Consultas

Milvus agora suporta modelos de expressões, melhorando a eficiência da análise de expressões, particularmente em cenários com expressões complexas.

Para obter detalhes, consulte Modelos de filtros.

Melhorias no GroupBy

  • Tamanho do grupo personalizável: Adicionado suporte para especificar o número de entradas retornadas para cada grupo.
  • Pesquisa GroupBy híbrida: Suporta a pesquisa GroupBy híbrida com base em várias colunas de vetor.

Aprimoramentos do iterador

  • Suporte a MVCC: Os utilizadores podem agora utilizar iteradores sem serem afectados por alterações de dados subsequentes, como inserções e eliminações, graças ao Controlo de Concorrência Multi-Versão (MVCC).
  • Cursor Persistente: O Milvus agora suporta um cursor persistente para o QueryIterator, permitindo que os utilizadores retomem a iteração a partir da última posição após um reinício do Milvus sem necessidade de reiniciar todo o processo de iteração.

Melhorias

Otimização da eliminação

Melhoria da velocidade e redução da utilização de memória para eliminações em grande escala, optimizando a utilização de bloqueios e a gestão de memória.

Atualização de dependências

Atualizada para ETCD 3.5.16 e Pulsar 3.0.7 LTS, corrigindo CVEs existentes e melhorando a segurança. Nota: A atualização para o Pulsar 3.x não é compatível com as versões anteriores 2.x.

Para os utilizadores que já têm uma implementação Milvus a funcionar, é necessário atualizar os componentes ETCD e Pulsar antes de poder utilizar as novas caraterísticas e funções. Para obter detalhes, consulte Atualizar a Pulsar de 2.x para 3.x

Armazenamento local V2

Introduziu um novo formato de arquivo local no Milvus 2.5, melhorando a eficiência de carregamento e consulta para dados escalares, reduzindo a sobrecarga de memória e estabelecendo as bases para futuras otimizações.

Otimização da análise de expressões

Melhoria da análise de expressões através da implementação de cache para expressões repetidas, atualização do ANTLR e otimização do desempenho das cláusulas NOT IN.

Desempenho aprimorado da simultaneidade de DDL

Otimizado o desempenho de simultaneidade das operações da Linguagem de Definição de Dados (DDL).

Alinhamento de recursos da API RESTful

Alinhamento das funcionalidades da API RESTful com outros SDKs para fins de consistência.

Atualizações de segurança e configuração

Suporte a TLS para proteger a comunicação entre nós em ambientes mais complexos ou corporativos. Para obter detalhes, consulte Configuração de segurança.

Aprimoramentos de desempenho de compactação

Removidas as limitações de segmento máximo na compactação mista e agora prioriza primeiro os segmentos menores, melhorando a eficiência e acelerando as consultas em conjuntos de dados grandes ou fragmentados.

Balanceamento de canais com base em pontuação

Introduzida uma política que equilibra dinamicamente as cargas entre canais, melhorando a utilização de recursos e a estabilidade geral em implementações de grande escala.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?