MongoDB vs MyScale: Escolhendo o Banco de Dados Certo para Aplicações de GenAI
À medida que as aplicações impulsionadas por IA evoluem, a importância dos recursos de busca vetorial no suporte a esses avanços não pode ser subestimada. Esta postagem do blog discutirá dois bancos de dados proeminentes com recursos de busca vetorial: MongoDB e MyScale. Cada um oferece recursos robustos para lidar com busca vetorial, um recurso essencial para aplicações como mecanismos de recomendação, recuperação de imagens e busca semântica. Nosso objetivo é fornecer a desenvolvedores e engenheiros uma comparação clara, auxiliando na decisão de qual banco de dados se alinha melhor aos seus requisitos específicos.
O que é um banco de dados vetorial?
Antes de compararmos MongoDB vs MyScale, vamos primeiro explorar o conceito de bancos de dados vetoriais.
Um banco de dados vetorial é especificamente projetado para armazenar e consultar vetores de alta dimensionalidade, que são representações numéricas de dados não estruturados. Esses vetores codificam informações complexas, como o significado semântico de textos, as características visuais de imagens ou atributos de produtos. Ao permitir buscas por similaridade eficientes, os bancos de dados vetoriais desempenham um papel fundamental em aplicações de IA, possibilitando análise e recuperação de dados mais avançadas.
Casos de uso comuns para bancos de dados vetoriais incluem recomendações de produtos em e-commerce, plataformas de descoberta de conteúdo, detecção de anomalias em cibersegurança, análise de imagens médicas e tarefas de processamento de linguagem natural (NLP). Eles também desempenham um papel crucial na Geração Aumentada por Recuperação (RAG), uma técnica que aprimora o desempenho de grandes modelos de linguagem (LLMs) ao fornecer conhecimento externo para reduzir problemas como alucinações de IA.
Há muitos tipos de bancos de dados vetoriais disponíveis no mercado, incluindo:
- Bancos de dados vetoriais criados especificamente para esse fim, como Milvus, Zilliz Cloud (Milvus totalmente gerenciado)
- Bibliotecas de busca vetorial, como Faiss e Annoy.
- Bancos de dados vetoriais leves, como Chroma e Milvus Lite.
- Bancos de dados tradicionais com complementos de busca vetorial capazes de realizar buscas vetoriais em pequena escala.
MongoDB é um banco de dados NoSQL com busca vetorial como complemento, e MyScale é um banco de dados criado sobre o ClickHouse que combina busca vetorial e análises SQL. Esta postagem compara seus recursos de busca vetorial.
MongoDB: o básico
MongoDB Atlas Vector Search é um recurso que permite realizar buscas por similaridade vetorial em dados armazenados no MongoDB Atlas. Você pode indexar e consultar embeddings vetoriais de alta dimensionalidade junto com seus dados de documentos e realizar IA e aprendizado de máquina diretamente no banco de dados.
Em sua essência, o Atlas Vector Search usa o algoritmo Hierarchical Navigable Small World (HNSW) para indexar e pesquisar dados vetoriais. Isso cria um grafo multinível do espaço vetorial para que você possa realizar buscas de Vizinhos Mais Próximos Aproximados (ANN). É um equilíbrio entre velocidade e precisão para busca vetorial em larga escala. O Atlas Vector Search também oferece suporte a buscas de Vizinhos Mais Próximos Exatos (ENN), que priorizam a precisão em vez do desempenho para consultas de até 10.000 documentos.
Uma das grandes vantagens do Atlas Vector Search é sua integração com o modelo de documentos flexível do MongoDB. Você pode armazenar embeddings vetoriais junto com outros dados do documento para poder pesquisar de forma mais contextual e precisa. Você pode consultar qualquer tipo de dado que possa ser incorporado em até 4096 dimensões. O Atlas Vector Search permite combinar pesquisas de similaridade vetorial com filtragem tradicional de documentos. Por exemplo, uma pesquisa semântica por produtos poderia ser filtrada por categoria, faixa de preço ou disponibilidade.
O Atlas Vector Search também oferece suporte à pesquisa híbrida, combinando pesquisa vetorial com pesquisa de texto completo para resultados mais granulares. Isso é diferente do Atlas Search, que é focado em pesquisa baseada em palavras-chave. A plataforma se integra a serviços e ferramentas populares de IA para que você possa usá-la com modelos de embedding de provedores como OpenAI, VoyageAI e muitos outros listados no Hugging Face. Ela também oferece suporte a frameworks de código aberto como LangChain e LlamaIndex para criar aplicações que usam Grandes Modelos de Linguagem (LLMs).
Para garantir escalabilidade e desempenho, o MongoDB Atlas fornece Search Nodes, que fornecem infraestrutura dedicada para cargas de trabalho do Atlas Search e do Vector Search. Isso permite que você tenha recursos computacionais otimizados e escalonamento independente das necessidades de pesquisa, para obter melhor desempenho em escala.
Ao ter esses recursos no ecossistema MongoDB, o Atlas Vector Search é uma solução completa para desenvolvedores que criam aplicações com tecnologia de IA, sistemas de recomendação ou recursos avançados de pesquisa. Não há necessidade de um banco de dados vetorial separado; você pode usar a escalabilidade e os recursos avançados do MongoDB junto com a pesquisa vetorial.
O que é MyScale? O Básico
MyScale é um banco de dados baseado em nuvem construído sobre o banco de dados de código aberto ClickHouse, projetado para cargas de trabalho de IA e aprendizado de máquina. Ele pode lidar com dados estruturados e vetoriais, além de análises em tempo real e aprendizado de máquina. MyScale é focado em séries temporais, pesquisa vetorial e pesquisa de texto completo, portanto é bom para processamento em tempo real e insights impulsionados por IA. Ao usar a arquitetura do ClickHouse, MyScale é de alto desempenho e escalável para IA.
Uma das principais características do MyScale é o suporte nativo a SQL, que simplifica consultas impulsionadas por IA ao integrar pesquisa vetorial, pesquisa de texto completo e consultas SQL tradicionais em um único sistema. Isso reduz a necessidade de várias ferramentas e o torna escalável para IA. MyScale oferece suporte e gerencia o processamento analítico de dados estruturados e vetorizados em uma única plataforma usando arquitetura de banco de dados OLAP para operar em dados vetorizados. Desenvolvedores podem interagir com o MyScale usando SQL, portanto ele é acessível a todos os programadores familiarizados com bancos de dados relacionais.
MyScale possui vários tipos de índices vetoriais e métricas de similaridade para oferecer suporte a diferentes casos de uso. Ele oferece suporte a métricas de distância comuns, como distância Euclidiana (L2), produto interno (IP) e similaridade de cosseno. O banco de dados possui vários algoritmos de indexação: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ e HNSW, cada um com seu próprio conjunto de parâmetros para ajuste. O mecanismo vetorial MSTG proprietário do MyScale usa SSDs NVMe para aumentar a densidade de dados, portanto supera bancos de dados vetoriais especializados tanto em desempenho quanto em custo.
Ao combinar a funcionalidade de um banco de dados SQL, banco de dados vetorial e mecanismo de pesquisa de texto completo em um único sistema, MyScale reduz custos de infraestrutura e manutenção. Essa unificação permite consultas e análises conjuntas de dados e uma base de dados única para aplicações de IA. MyScale também tem MyScale Telemetry para observabilidade completa de sistemas LLM, para que você possa monitorar e depurar com eficiência. À medida que os dados se tornam mais complexos, MyScale é uma solução à prova de futuro que pode lidar com novas modalidades de dados e tamanhos de banco de dados, mantendo o desempenho computacional e a integração entre diferentes tipos de dados.
Principais Diferenças
Quando se trata de ferramentas de pesquisa vetorial, MongoDB Atlas Vector Search e MyScale são duas ótimas opções. Vamos compará-las para que você possa tomar uma decisão informada para o seu projeto.
Metodologia de Pesquisa
MongoDB Atlas Vector Search usa o algoritmo Hierarchical Navigable Small World (HNSW) para indexar e pesquisar dados vetoriais. Isso cria um grafo multinível do espaço vetorial e permite buscas Approximate Nearest Neighbor (ANN). Ele também oferece suporte a buscas Exact Nearest Neighbors (ENN) para até 10.000 documentos.
MyScale tem vários tipos de índices vetoriais e métricas de similaridade. Ele oferece suporte a métricas de distância comuns, como distância euclidiana (L2), produto interno (IP) e similaridade de cosseno. MyScale tem vários algoritmos de indexação: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ e HNSW. Isso dá a você mais controle sobre o desempenho e a precisão da pesquisa.
Tratamento de Dados
MongoDB Atlas Vector Search funciona com o modelo de documentos flexível do MongoDB. Você pode armazenar embeddings vetoriais junto com outros dados de documentos e pesquisar de forma mais contextual e precisa. Você pode consultar quaisquer dados que possam ser incorporados em até 4096 dimensões e combinar a pesquisa por similaridade vetorial com filtragem de documentos.
MyScale é desenvolvido para lidar com dados estruturados e vetoriais. Ele foi projetado para análises em tempo real e workloads de aprendizado de máquina, por isso é bom para séries temporais, pesquisa vetorial e pesquisa de texto completo. A capacidade do MyScale de processar workloads analíticos de dados estruturados e vetorizados em uma única plataforma com arquitetura de banco de dados OLAP é única.
Escalabilidade e Desempenho
MongoDB Atlas tem Search Nodes, que fornecem infraestrutura dedicada para workloads do Atlas Search e Vector Search. Isso significa recursos de computação otimizados e escalonamento independente das necessidades de pesquisa para melhor desempenho em escala.
MyScale é construído sobre o ClickHouse, cuja arquitetura é conhecida por seu alto desempenho e escalabilidade. Seu mecanismo vetorial MSTG proprietário usa SSDs NVMe para aumentar a densidade dos dados e potencialmente superar bancos de dados vetoriais especializados tanto em desempenho quanto em custo.
Flexibilidade e Personalização
MongoDB Atlas Vector Search permite pesquisa híbrida, combinando pesquisa vetorial com pesquisa de texto completo para resultados mais granulares. Ele também permite combinar pesquisa por similaridade vetorial com filtragem de documentos para maior flexibilidade na construção de consultas.
MyScale tem suporte nativo a SQL, então os desenvolvedores podem integrar pesquisa vetorial, pesquisa de texto completo e consultas SQL tradicionais em um único sistema. Essa abordagem baseada em SQL é mais familiar e acessível para desenvolvedores com experiência em bancos de dados relacionais.
Integração e Ecossistema
MongoDB Atlas Vector Search integra-se a serviços e ferramentas populares de IA, oferece suporte a modelos de embedding da OpenAI e VoyageAI. Funciona com frameworks de código aberto como LangChain e LlamaIndex para criar aplicações que usam Large Language Models (LLMs).
A integração do MyScale não é explicitamente mencionada na documentação, mas seu suporte a SQL implica que ele pode se integrar a muitas ferramentas e frameworks compatíveis com SQL.
Facilidade de Uso
MongoDB Atlas Vector Search se baseia no ecossistema MongoDB existente, então, se você já está familiarizado com MongoDB, a curva de aprendizado será mais suave.
O SQL do MyScale para consultar dados vetoriais pode ser mais acessível para desenvolvedores com experiência em SQL, mas a variedade de algoritmos e parâmetros de indexação exigirá mais aprendizado e ajustes para obter o melhor desempenho.
Custo
MongoDB tem um ecossistema estabelecido, muita documentação e os desenvolvedores estão familiarizados com ele. Se você já está usando MongoDB, adicionar pesquisa vetorial pode ser uma escolha óbvia.
A abordagem unificada do MyScale pode reduzir custos de infraestrutura e manutenção ao oferecer múltiplas funcionalidades em um único sistema. Seu mecanismo vetorial MSTG afirma superar bancos de dados vetoriais especializados e ser mais econômico.
Quando Escolher Cada Um
O MongoDB Atlas Vector Search é a melhor escolha quando você já está usando o MongoDB para suas necessidades de banco de dados e quer adicionar busca vetorial sem introduzir outro sistema. Ele é perfeito para aplicações que precisam integrar a busca vetorial com dados de documentos de forma integrada, como sistemas de recomendação ou busca avançada de produtos. A solução do MongoDB é ótima quando você precisa combinar busca por similaridade vetorial com filtragem de documentos, para que possa fazer perguntas mais contextuais. Escolha o MongoDB Atlas Vector Search quando quiser usar o ecossistema MongoDB, incluindo escalabilidade e integração com ferramentas populares de IA.
O MyScale é a melhor escolha quando você precisa de uma única plataforma que combine banco de dados SQL, busca vetorial e busca de texto completo. Ele é perfeito para aplicações que precisam processar dados estruturados e vetoriais em tempo real, como análises orientadas por IA ou análises complexas de séries temporais com componentes vetoriais. O suporte SQL nativo do MyScale o torna uma ótima opção para equipes com fortes habilidades em SQL que querem fazer busca vetorial com uma linguagem de consulta familiar. Escolha o MyScale quando precisar de flexibilidade em algoritmos de indexação vetorial, quiser otimizar custo e desempenho em escala ou precisar de uma solução que possa lidar com vários tipos de dados e modalidades de busca em uma única plataforma.
Conclusão
O MongoDB Atlas Vector Search integra-se perfeitamente à sua implantação MongoDB existente, tem uma busca vetorial poderosa e pode combinar busca vetorial com filtragem de documentos. O MyScale é uma única plataforma para SQL, busca vetorial e busca de texto completo, com indexação flexível e suporte SQL nativo para consultas vetoriais. Sua escolha entre eles dependerá da sua infraestrutura existente, do seu caso de uso e da sua equipe. Considere fatores como integração com dados de documentos, consultas baseadas em SQL, tipos de dados com os quais você está trabalhando e necessidades de escalabilidade. Ambos têm busca vetorial robusta, mas seus pontos fortes se encaixam em diferentes cenários e ambientes de desenvolvimento.
Leia isto para obter uma visão geral do MongoDB e do MyScale, mas, para avaliá-los, você precisa avaliar com base no seu caso de uso. Uma ferramenta que pode ajudar nisso é o VectorDBBench, uma ferramenta de benchmarking open-source para comparação de bancos de dados vetoriais. No fim, um benchmarking completo com seus próprios conjuntos de dados e padrões de consulta será essencial para tomar uma decisão entre essas duas abordagens poderosas, mas diferentes, para busca vetorial em sistemas de banco de dados distribuídos.
Usando o VectorDBBench open-source para avaliar e comparar bancos de dados vetoriais por conta própria
VectorDBBench é uma ferramenta de benchmarking open-source para usuários que precisam de sistemas de armazenamento e recuperação de dados de alto desempenho, especialmente bancos de dados vetoriais. Essa ferramenta permite que os usuários testem e comparem diferentes sistemas de bancos de dados vetoriais, como Milvus e Zilliz Cloud (o Milvus gerenciado), usando seus próprios conjuntos de dados e encontrem aquele que se encaixa em seus casos de uso. Com o VectorDBBench, os usuários podem tomar decisões com base no desempenho real dos bancos de dados vetoriais, em vez de afirmações de marketing ou boatos.
O VectorDBBench é escrito em Python e licenciado sob a licença open-source MIT, o que significa que qualquer pessoa pode usá-lo, modificá-lo e distribuí-lo livremente. A ferramenta é mantida ativamente por uma comunidade de desenvolvedores comprometida em melhorar seus recursos e desempenho.
Baixe o VectorDBBench de seu repositório no GitHub para reproduzir nossos resultados de benchmark ou obter resultados de desempenho em seus próprios conjuntos de dados.
Dê uma olhada rápida no desempenho dos principais bancos de dados vetoriais no Leaderboard do VectorDBBench.
Leia os blogs a seguir para saber mais sobre avaliação de bancos de dados vetoriais.
Recursos adicionais sobre VectorDB, GenAI e ML
Continue lendo

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.


