O que há de novo no Milvus 2.1 - Em direção à simplicidade e à rapidez
O que há de novo no Milvus 2.1 - Em direção à simplicidade e à velocidade
Temos o prazer de anunciar que olançamento do Milvus 2.1 já está disponível, após seis meses de trabalho árduo de todos os colaboradores da nossa comunidade Milvus. Esta grande iteração da popular base de dados vetorial enfatiza o desempenho e a usabilidade, duas das palavras-chave mais importantes do nosso foco. Adicionámos suporte para strings, fila de mensagens Kafka e Milvus incorporado, bem como uma série de melhorias no desempenho, escalabilidade, segurança e observabilidade. O Milvus 2.1 é uma atualização empolgante que fará a ponte entre a "última milha" do portátil do engenheiro de algoritmos e os serviços de pesquisa de semelhanças vectoriais ao nível da produção.
Latência de 5ms
O Milvus já suporta a pesquisa do vizinho mais próximo aproximado (ANN), um salto substancial em relação ao método KNN tradicional. No entanto, os problemas de rendimento e latência continuam a desafiar os utilizadores que precisam de lidar com cenários de recuperação de dados vectoriais à escala de milhares de milhões.
No Milvus 2.1, há um novo protocolo de roteamento que não depende mais de filas de mensagens no link de recuperação, reduzindo significativamente a latência de recuperação para pequenos conjuntos de dados. Os resultados dos nossos testes mostram que o Milvus reduz agora o seu nível de latência para 5 ms, o que satisfaz os requisitos de ligações em linha críticas, como a pesquisa de semelhanças e a recomendação.
Controlo de simultaneidade
O Milvus 2.1 aperfeiçoa o seu modelo de concorrência introduzindo um novo modelo de avaliação de custos e um programador de concorrência. Agora fornece controlo de concorrência, o que garante que não haverá um grande número de pedidos simultâneos a competir pelos recursos da CPU e da cache, nem a CPU será subutilizada por não haver pedidos suficientes. A nova camada de agendamento inteligente do Milvus 2.1 também mescla consultas small-nq que têm parâmetros de solicitação consistentes, proporcionando um incrível aumento de desempenho de 3,2x em cenários com small-nq e alta simultaneidade de consultas.
Réplicas na memória
O Milvus 2.1 traz réplicas na memória que melhoram a escalabilidade e a disponibilidade para pequenos conjuntos de dados. À semelhança das réplicas só de leitura nas bases de dados tradicionais, as réplicas na memória podem ser escaladas horizontalmente adicionando máquinas quando o QPS de leitura é elevado. Na recuperação de vectores para pequenos conjuntos de dados, um sistema de recomendação necessita frequentemente de fornecer um QPS que excede o limite de desempenho de uma única máquina. Nestes cenários, o rendimento do sistema pode ser significativamente melhorado carregando várias réplicas na memória. No futuro, introduziremos também um mecanismo de leitura com cobertura baseado em réplicas na memória, que solicitará rapidamente outras cópias funcionais no caso de o sistema precisar de recuperar de falhas e utiliza plenamente a redundância da memória para melhorar a disponibilidade geral do sistema.
As réplicas na memória permitem que os serviços de consulta se baseiem em cópias separadas dos mesmos dados.
Carregamento de dados mais rápido
O último aumento de desempenho vem do carregamento de dados. O Milvus 2.1 agora comprime logs binários com o Zstandard (zstd), o que reduz significativamente o tamanho dos dados nos armazenamentos de objetos e mensagens, bem como a sobrecarga da rede durante o carregamento de dados. Além disso, agora são introduzidos pools de goroutine para que o Milvus possa carregar segmentos simultaneamente com pegadas de memória controladas e minimizar o tempo necessário para se recuperar de falhas e para carregar dados.
Os resultados completos do benchmark Milvus 2.1 serão divulgados em breve no nosso sítio Web. Fique atento.
Suporte a índices de strings e escalares
Com a versão 2.1, o Milvus agora suporta string de comprimento variável (VARCHAR) como um tipo de dados escalar. VARCHAR pode ser usado como a chave primária que pode ser retornada como saída, e também pode agir como filtros de atributos. A filtragem de atributos é uma das funções mais populares de que os utilizadores do Milvus necessitam. Se muitas vezes quer "encontrar produtos mais semelhantes a um utilizador numa gama de preços ", ou "encontrar artigos que têm a palavra-chave 'base de dados vetorial' e estão relacionados com tópicos nativos da nuvem", vai adorar o Milvus 2.1.
O Milvus 2.1 também suporta índice invertido escalar para melhorar a velocidade de filtragem com base emMARISA-Triessucintascomo estrutura de dados. Agora, todos os dados podem ser carregados na memória com uma pegada muito baixa, o que permite uma comparação muito mais rápida, filtragem e correspondência de prefixos em strings. Os resultados dos nossos testes mostram que o requisito de memória do MARISA-trie é apenas 10% do dos dicionários Python para carregar todos os dados na memória e fornecer capacidades de consulta.
O Milvus 2.1 combina o MARISA-Trie com o índice invertido para melhorar significativamente a velocidade de filtragem.
No futuro, o Milvus continuará a concentrar-se em desenvolvimentos relacionados com a consulta escalar, suportará mais tipos de índices escalares e operadores de consulta, e fornecerá capacidades de consulta escalar baseadas em disco, tudo como parte de um esforço contínuo para reduzir o custo de armazenamento e utilização de dados escalares.
Suporte ao Kafka
O Milvus 2.1 oferece-lhe agora a opção de utilizaro Pulsar ou o Kafka como armazenamento de mensagens com base nas configurações do utilizador, graças ao design de abstração e encapsulamento do Milvus e ao SDK Go Kafka contribuído pela Confluent.
SDK Java pronto para produção
Com o Milvus 2.1, o nosso Java SDK é agora oficialmente lançado. O Java SDK tem exatamente as mesmas capacidades que o Python SDK, com um desempenho de concorrência ainda melhor. No próximo passo, os colaboradores da nossa comunidade irão gradualmente melhorar a documentação e os casos de uso para o Java SDK, e ajudar a empurrar os SDKs Go e RESTful para a fase de produção também.
Observabilidade e facilidade de manutenção
O Milvus 2.1 adicionamétricas de monitorização importantes, como contagens de inserção de vectores, latência/rendimento da pesquisa, sobrecarga de memória do nó e sobrecarga da CPU. Além disso, a nova versão também optimiza significativamente a manutenção de registos, ajustando os níveis de registo e reduzindo a impressão de registos inúteis.
Milvus incorporado
O Milvus simplificou bastante a implementação de serviços de recuperação de dados vectoriais maciços em grande escala, mas para os cientistas que pretendem validar algoritmos numa escala mais pequena, o Docker ou o K8s continuam a ser demasiado complicados e desnecessários. Com a introdução do Milvus embutido, agora é possível instalar o Milvus usando pip, assim como com Pyrocksb e Pysqlite. O Milvus embutido suporta todas as funcionalidades das versões cluster e standalone, permitindo-lhe mudar facilmente do seu laptop para um ambiente de produção distribuído sem alterar uma única linha de código. Os engenheiros de algoritmos terão uma experiência muito melhor ao construir um protótipo com o Milvus.
Além disso, o Milvus 2.1 também apresenta algumas grandes melhorias em termos de estabilidade e escalabilidade, e aguardamos com expetativa a sua utilização e os seus comentários.
O que vem a seguir
- Veja as Notas de Lançamento detalhadas para todas as mudanças no Milvus 2.1
- Instaleo Milvus 2.1 e experimente as novas funcionalidades
- Junte-se à nossa comunidade Slack e discuta as novas funcionalidades com milhares de utilizadores do Milvus em todo o mundo
- Siga-nos no Twitter e noLinkedIn para receber actualizações assim que os nossos blogues sobre novas funcionalidades específicas forem publicados
Editado por Songxian Jiang
- Latência de 5ms
- Controlo de simultaneidade
- Réplicas na memória
- Carregamento de dados mais rápido
- Suporte a índices de strings e escalares
- Suporte ao Kafka
- SDK Java pronto para produção
- Observabilidade e facilidade de manutenção
- Milvus incorporado
- O que vem a seguir
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word