Roteiro do Milvus

Rumo à base de dados multimodal e ao lago de dados da próxima geração

Roteiro do produto Milvus

Bem-vindo ao Roteiro do Milvus!

Estamos a conduzir o Milvus a uma nova era - a base de dados multimodal da próxima geração - abrangendo dados estruturados a não estruturados, recuperação em tempo real a análises offline e desempenho de um único cluster a uma arquitetura global de lago de dados.

Este roteiro descreve os principais objetivos do Milvus v2.6 (em curso), do Milvus v3.0 (previsto para finais de 2026) e do Milvus v3.1 (desenvolvimento a longo prazo), juntamente com o plano de evolução do Vetor Lake (lago de dados/Loon).

Milvus v2.6 (em curso)

Cronograma: Meados de 2025 - final de 2025

Foco: Atualizar o modelo de dados, refatorar a arquitetura de streaming, criar recursos de camadas quentes/frias e lançar o Protótipo de Lago Vetorial (v0.1).

Principais destaques

Atualização do modelo de dados

  • Introduzir um tipo de dados Tensor / StructList unificado para suportar estruturas de incorporação de vários vetores, permitindo a compatibilidade com ColBERT, CoLQwen, vídeo e vetores multimodais.

  • Adicionar suporte a dados geográficos, incluindo pontos, regiões e indexação espacial (com base na libspatial), para expandir casos de uso em LBS e GIS.

  • Suporte para Timestamp com tipo de dados de fuso horário.

Refactor da arquitetura StreamNode

  • Reescreva o pipeline de ingestão de streaming para otimizar gravações incrementais e computação em tempo real.

  • Melhorar significativamente o desempenho e a estabilidade da concorrência, lançando as bases para o processamento unificado em tempo real e offline.

  • Introduzir um novo mecanismo de fila de mensagens: Woodpecker.

Arquitetura de armazenamento e hierarquização quente/fria (StorageV2)

  • Suporte a dois formatos de armazenamento: Parquet e Vortex, melhorando a concorrência e a eficiência da memória.

  • Implementa armazenamento em camadas com separação automática de dados quentes/frios e agendamento inteligente.

Protótipo de Lago Vetorial (v0.1)

  • Integrar com Spark / DuckDB / DataFusion via FFI, permitindo a evolução do esquema offline e consultas KNN.

  • Fornecer visualização de dados multimodais e uma demonstração do Spark ETL, estabelecendo a arquitetura fundamental do lago de dados.

Milvus v3.0 (previsto para o início de 2026)

Cronograma: Final de 2025 - Início de 2026

Foco: Melhorias abrangentes na experiência de pesquisa, flexibilidade de esquema e suporte a dados não estruturados, juntamente com o lançamento do Vetor Lake (v0.2).

Principais destaques

🔹 Revisão da experiência de pesquisa

  • Introduzir a pesquisa de similaridade More Like This (MLT) com suporte para pesquisas com posição ou exemplos negativos.

  • Adicionar recursos de pesquisa semântica, como destaque e reforço.

  • Suporte a dicionários personalizados e tabelas de sinónimos, permitindo definições de regras léxicas e semânticas na camada Analyzer.

  • Introduzir recursos de agregação para consultas.

Gestão de recursos e multilocatário

  • Permitir a eliminação de vários inquilinos, estatísticas e camadas quentes/frias.

  • Melhorar o isolamento de recursos e as estratégias de agendamento para suportar milhões de tabelas num único cluster.

Aprimoramentos de esquema e chave primária

  • Implementar a desduplicação global de chaves primárias (Global PK Dedup) para garantir a consistência e a exclusividade dos dados.

  • Suporte ao gerenciamento flexível de esquemas (adição/remoção de colunas, preenchimento de backup).

  • Permitir valores NULL em campos vectoriais.

Tipos de dados não estruturados alargados (BLOB / Texto)

  • Introduzir o tipo BLOB, que fornece armazenamento nativo e referência para dados binários, como ficheiros, imagens e vídeos.

  • Introduzir o tipo TEXT, que fornece capacidades melhoradas de pesquisa de texto completo e baseada em conteúdos.

Capacidades de nível empresarial

  • Suporte a backup e recuperação baseados em instantâneos.

  • Fornecer rastreamento de ponta a ponta e registo de auditoria.

  • Implementar alta disponibilidade (HA) ativa e em espera em implantações de vários clusters.

Vetor Lake (v0.2)

  • Suporte para armazenamento TEXT / BLOB e gerenciamento de instantâneos de várias versões.

  • Integrar o Spark para tarefas de indexação offline, clustering, deduplicação e redução de dimensionalidade.

  • Fornecer demonstrações de consulta a frio e benchmark offline do ChatPDF.

Milvus v3.1 (Visão a longo prazo)

Cronograma: Meados de 2026

Foco: Funções definidas pelo usuário (UDF), integração de computação distribuída, otimização de consulta escalar, fragmentação dinâmica e o lançamento oficial do Vetor Lake (v1.0).

Principais destaques

UDF e ecossistema de computação distribuída

  • Suporte a Funções Definidas pelo Usuário (UDFs), permitindo que os desenvolvedores injetem lógica personalizada em fluxos de trabalho de recuperação e computação.

  • Integração profunda com Ray Dataset / Daft para execução distribuída de UDF e processamento de dados multimodais.

Consulta escalar e evolução do formato local

  • Otimizar o desempenho de filtragem e agregação para campos escalares.

  • Melhorar a avaliação de expressões e a execução acelerada por índices.

  • Suporte a atualizações no local para formatos de arquivo locais.

🔹 Capacidades de pesquisa avançada

  • Adicione os seguintes recursos: Consultas RankBy, OrderBy, Facet e Fuzzy match.

  • Melhore a recuperação de texto com suporte para:

    • match_phrase_prefix

    • Completion Suggester

    • Term Suggester

    • Phrase Suggester

🔹 S harding dinâmico e escalabilidade

  • Habilite a divisão automática de fragmentos e o balanceamento de carga para um dimensionamento perfeito.

  • Melhore a criação de índices globais e garanta o desempenho da pesquisa distribuída.

Vetor Lake V1.0

  • Integração profunda com Ray / Daft / PyTorch para oferecer suporte a UDFs distribuídos e casos de uso de engenharia de contexto.

  • Fornece demonstrações de RAG (Retrieval-Augmented Generation) e importação de tabelas Iceberg.

Co-construção do futuro do Milvus

Milvus é um projeto de código aberto conduzido por uma comunidade global de desenvolvedores.

Convidamos calorosamente todos os membros da comunidade a ajudar a moldar a base de dados multimodal da próxima geração:

  • 💬 Partilhar feedback: Propor novas funcionalidades ou ideias de otimização

  • Comunicar problemas: Arquivar bugs através do GitHub Issues

  • Contribuir com código: Submeter PRs e ajudar a construir funcionalidades essenciais

    • Pull requests: Contribua diretamente para a nossa base de código. Quer se trate de corrigir bugs, adicionar funcionalidades ou melhorar a documentação, as suas contribuições são bem-vindas.

    • Guia de desenvolvimento: Consulte o nosso Guia do contribuidor para obter orientações sobre contribuições de código.

  • Espalhe a palavra: Partilhe as melhores práticas e histórias de sucesso

👉 GitHub: milvus-io/milvus