O que é Weaviate? Um banco de dados de busca semântica

Aaron Ricadela | Redator Sênior | 18 de março de 2025

Assim como a IA generativa está redefinindo a forma como os usuários interagem com os computadores, ela também está impondo novas exigências aos bancos de dados que armazenam e recuperam as informações que embasam as respostas dos sistemas. Os bancos de dados vetoriais, projetados para desenvolvedores que trabalham com conjuntos de dados não estruturados ou semiestruturados muito grandes, armazenam as incorporações, ou posições no espaço matemático, de potencialmente bilhões de vetores calculados a partir dos dados brutos. Esses bancos de dados podem retornar respostas que aprimoram o conhecimento dos modelos de IA, computando rapidamente as relações entre os vetores.

Ao contrário dos bancos de dados tradicionais, que se destacam na busca por correspondências exatas de consultas, os bancos de dados vetoriais, como o Weaviate (bem como outros como Milvus, Pinecone, Chroma e Qdrant), representam a similaridade entre os objetos armazenados pela distância entre eles em um espaço vetorial multidimensional. Esses bancos de dados podem encontrar informações relacionadas rapidamente e retornar respostas com base no que os modelos presumem que o usuário quis dizer, mesmo que sejam aproximadas e não correspondam exatamente à consulta.

Isso torna o Weaviate e outros bancos de dados vetoriais ferramentas avançadas de processamento de linguagem natural para aplicações como recomendações para comércio eletrônico e serviços de streaming, buscas semânticas ou por similaridade, detecção de fraudes e geração aumentada por recuperação (RAG).

O que é Weaviate?

O Weaviate, propriedade da startup holandesa de mesmo nome, é um banco de dados vetorial especializado que se destaca por realizar pesquisas rápidas em bilhões de vetores. Sua arquitetura de pesquisa utiliza o sharding de banco de dados, uma técnica que distribui informações por vários servidores, para aumentar a escalabilidade e o desempenho.

O Weaviate utiliza diferentes tipos de índices de banco de dados para otimizar o desempenho, dependendo do tamanho do conjunto de dados. Seu índice plano armazena localizações vetoriais e é adequado para conjuntos de dados pequenos. Seu índice HNSW (hierarchical navigable small world) é mais lento de construir, mas mais adequado para conjuntos de dados grandes.

O Weaviate prioriza a produtividade do desenvolvedor, oferecendo uma gama de ferramentas e interfaces, incluindo bibliotecas de cliente em Python, JavaScript, Go e Java, e uma API para a linguagem de consulta GraphQL. O banco de dados é distribuído sob a licença de código aberto BSD-3-Clause. Seu ponto forte reside nas buscas por vizinhos mais próximos (ANN), cujos resultados aprimoram as consultas de IA generativa.

Os clientes podem executar o Weaviate no próprio computador, em um serviço de nuvem pública em um modelo sem servidor ou por meio do serviço de nuvem gerenciado da empresa com hardware dedicado.

Como o Oracle supera o Weaviate em disponibilidade e escalabilidade

O Oracle Database 23ai também fornece a pesquisa vetorial com IA, permitindo armazenar e pesquisar vetores como o Weaviate, com tempos de resposta inferiores a um segundo. No entanto, em vez de armazenar e recuperar dados de um banco de dados vetorial de propósito único, as equipes de desenvolvimento que usam o Oracle Database 23ai podem armazenar e pesquisar dados relacionais, gráficos, espaciais, JSON e da Internet das Coisas (IoT), além da pesquisa vetorial. Com o banco de dados Oracle, as equipes de TI não precisam gerenciar vários bancos de dados e cópias de dados, o que resulta em menor complexidade.

Enquanto o Weaviate oferece suporte a clusterização para melhorar a disponibilidade do banco de dados, o Oracle Database 23ai oferece uma gama mais ampla de opções de alta disponibilidade, incluindo o Oracle Real Application Clusters (RAC), que permite que instâncias de banco de dados sejam executadas em servidores separados para tolerância a falhas e balanceamento de carga; o Oracle Active Data Guard (ADG), para replicação imediata em um banco de dados standby, evitando a perda de dados durante uma interrupção não planejada; e o Oracle GoldenGate, para consistência de dados em vários sites. Para escalabilidade, o Oracle Globally Distributed Database (DGDB) oferece suporte a sharding para pesquisas vetoriais, roteamento de consultas, além de operações de atualização, inserção e exclusão nos shards.

Os bancos de dados vetoriais especializados podem depender de atualizações em lote periódicas para dados que mudam rapidamente, o que pode levar a conjuntos de dados inconsistentes. Com o Oracle Database 23ai, o pipeline RAG e as fontes de dados subjacentes permanecem sincronizados. No que diz respeito às consultas, o Oracle Autonomous Database Select AI transforma consultas em linguagem natural em comandos SQL, usando LLMs da Anthropic, Cohere, Google, Meta, Microsoft e OpenAI. O Oracle Database 23ai também permite que os desenvolvedores utilizem serviços de IA de outros grandes provedores de nuvem, incluindo os modelos Gemini do Google, os serviços de IA do Azure da Microsoft e os LLMs da OpenAI, para uso com dados corporativos armazenados na Oracle.

Saiba como a pesquisa vetorial do Oracle Database 23ai pode funcionar com sua aplicação.

Perguntas frequentes sobre o Weaviate

Como o Weaviate lida com pesquisa semântica e vetorial?

O banco de dados Weaviate permite buscas de baixa latência de incorporações vetoriais construídas a partir de dados não estruturados para uma variedade de aplicações. Isso inclui mecanismos de recomendação e RAG (Research Achievement Graph), bem como buscas híbridas que combinam a compreensão semântica de relações entre texto, imagens, áudio e vídeo com a busca convencional por palavras-chave.

Qual é a diferença entre Pinecone e Weaviate?

O Weaviate é distribuído com uma licença BSD-3-Clause e pode ser executado localmente ou em um serviço de nuvem pública. O Pinecone é distribuído sob uma licença proprietária e é executado na nuvem (bem como por meio de uma conexão com uma nuvem privada da AWS). O Pinecone suporta uma ampla gama de tipos de dados, enquanto o Weaviate pode ser personalizado devido à sua licença de código aberto.

O Weaviate pode ser usado com modelos processamento de linguagem natural (NLP)?

Sim, o Weaviate permite que os usuários executem e dimensionem seus próprios modelos de processamento de linguagem natural, além de usar os modelos que acompanham o software.

O que diferencia o Weaviate de outros bancos de dados vetoriais?

O Weaviate tem como foco atrair desenvolvedores para seu produto por meio do suporte a uma variedade de linguagens de programação e ferramentas de IA. Sua arquitetura é construída para escalabilidade horizontal através do sharding de dados.