O que é um banco de dados vetorial?

Jeffrey Erickson | Estrategista de Conteúdo | 29 de outubro de 2024

Um tipo de dados menos conhecido, os vetores, ganhou destaque recentemente como um viabilizador da IA generativa. Mas os vetores (e os bancos de dados capazes de armazená-los e analisá-los) já trabalham nos bastidores há muitos anos. Eles são usados em mapeamento e análise geoespacial para planejamento urbano, logística de transporte e análise ambiental. Mais recentemente, os vetores têm sido usados em mecanismos de recomendação para produtos de varejo e em sites de streaming de música e vídeo.

A IA generativa baseia-se nesses casos de uso e abre as portas para novas inovações usando vetores e bancos de dados vetoriais, além de tecnologias complementares, incluindo geração aumentada de recuperação (RAG).

O que é um vetor?

Um vetor é simplesmente um conjunto de números que representa as características de um objeto, seja esse objeto uma palavra, uma frase, um documento, uma imagem ou um arquivo de vídeo ou áudio. Os vetores são necessários porque comparar ou pesquisar esse tipo de conteúdo não estruturado é difícil para os computadores. Comparar ou pesquisar vetores, por outro lado, é muito mais fácil e é baseado em matemática bem compreendida.

Os vetores são armazenados em um banco de dados com, ou com um link para, os objetos de dados nos quais eles se baseiam. Os vetores matematicamente próximos uns dos outros tendem a descrever objetos com características semelhantes, para que você possa compará-los ou pesquisá-los rapidamente e retornar objetos semelhantes. Você também pode formar um vetor de consulta com apenas determinadas características identificadas. Uma pesquisa retornará objetos com características semelhantes às especificadas no vetor de consulta.

O que é um banco de dados vetorial?

Um banco de dados vetorial é qualquer banco de dados que pode armazenar e gerenciar nativamente incorporações vetoriais e processar dados não estruturados que eles descrevem, como documentos, imagens, vídeo ou áudio.

Com a importância da pesquisa vetorial para IA generativa, o setor de tecnologia gerou muitos bancos de dados vetoriais independentes e especializados, que as empresas podem adicionar às infraestruturas de dados. Enquanto isso, as versões dos favoritos estabelecidos, como o Oracle Database e o banco de dados MySQL de código aberto, incorporaram vetores como um tipo de dados nativo, além de muitos outros tipos de dados. Isso permite que as pesquisas em uma combinação de dados de negócios e semânticos sejam mais rápidas e precisas, uma vez que ambos os tipos de dados estão disponíveis em um único banco de dados. Essa abordagem também evita os problemas de consistência de dados introduzidos ao usar um banco de dados vetorial separado e especializado, além do banco de dados principal da empresa.


VÍDEO: O que é um banco de dados vetorial? Como ele pode ajudar a atender às necessidades dos negócios?



Índice vetorial vs. banco de dados vetorial

Os índices vetoriais e os bancos de dados vetoriais são projetados para armazenar e recuperar com eficiência vetores, ou seja, conjuntos de números que representam as características de um objeto, como um documento, imagem ou arquivo de vídeo ou áudio. No entanto, eles têm características e casos de uso diferentes. Os índices vetoriais são usados principalmente para pesquisa de “vizinho mais próximo”, que envolve encontrar o vetor mais próximo de um determinado vetor de consulta. Os índices são ótimos para aplicações que requerem pesquisas de similaridade rápidas e precisas, como um mecanismo de recomendação. Por outro lado, os bancos de dados vetoriais são onde as organizações armazenam os vetores para recuperação e análise. Um banco de dados vetorial de classe empresarial oferece recursos úteis além da pesquisa do vizinho mais próximo, como armazenamento de metadados, controle de versão de dados e integração com outros sistemas.

Principais Diferenças

A principal diferença entre um índice vetorial e um banco de dados vetorial é que os índices vetoriais armazenam informações sobre os atributos de dados não estruturados, como texto, imagens ou arquivos de áudio. Essas informações são representadas por um conjunto de números chamados de vetor. O índice vetorial contém esses dados e os “indexa” de maneira que ajuda um banco de dados a identificar e fazer a correspondência de objetos rapidamente.

Um banco de dados vetorial armazena esses índices e os objetos que eles descrevem. No entanto, a forma como um banco de dados organiza os índices vetoriais e os objetos de dados varia. Os bancos de dados habilitados para vetores, como o Oracle Database, separam o armazenamento de objetos de dados de como os dados e vetores são pesquisados. Isso permite que eles combinem o poder de consulta maduro do SQL para metadados e dados de negócios atualizados com a velocidade e a relevância contextual da pesquisa vetorial. Essa abordagem significa, por exemplo, que uma pesquisa vetorial de produtos de varejo relevantes também pode retornar preços e disponibilidade atualizados.

Principais conclusões

  • Os bancos de dados vetoriais armazenam e manipulam objetos de forma eficiente usando um tipo de dados chamado incorporação vetorial.
  • As incorporações vetoriais descrevem os recursos de um objeto, e um banco de dados habilitado para vetores armazena esses vetores e cria índices que facilitam pesquisas rápidas.
  • Os vetores e os bancos de dados habilitados para vetores não são novidade; eles são empregados há muito tempo para casos de uso especializados, como mapeamento e análise de dados.
  • Mais recentemente, as incorporações vetoriais e os bancos de dados vetoriais têm sido usados para encontrar produtos semelhantes, fazer reconhecimento de padrões biométricos, detectar anomalias e em mecanismos de recomendação.
  • As empresas agora estão combinando pesquisa vetorial e IA generativa com tecnologia de geração aumentada de recuperação para obter resultados mais relevantes da IA generativa compartilhando itens selecionados de seus repositórios de documentos e comunicações. O resultado são respostas rápidas que são mais precisas e contextualmente relevantes, uma vez que se baseiam nos dados adicionais fornecidos pela RAG.

Explicação de Bancos de dados vetoriais

Em vez de assumir o custo e o esforço de ajustar modelos de IA generativa, as empresas estão selecionando os dados que os LLMs usam para gerar as saídas. Elas estão usando bancos de dados vetoriais que contêm informações corporativas atualizadas. Essa abordagem arquitetônica, chamada geração aumentada de recuperação, permite que um LLM que foi treinado em grandes quantidades de dados generalizados aprimore sua resposta usando dados privados encontrados em um banco de dados vetorial.

Por exemplo, se um chatbot com tecnologia de LLM puder acessar registros de clientes e comunicações por email de um varejista em vez de mensagens genéricas, ele poderá fornecer respostas mais úteis e personalizadas a consultas como “Meu pedido foi enviado?”

A RAG também pode aumentar a confiabilidade dos modelos de IA generativa citando quais documentos no banco de dados vetorial informaram a saída.

Por que os bancos de dados vetoriais são importantes?

Não é surpresa: o uso de bancos de dados otimizados para armazenar e analisar vetores está aumentando. Outrora usados principalmente para mapeamento e análise de dados, os bancos de dados vetoriais tornaram-se uma tecnologia fundamental para os mecanismos de recomendação comumente usados pelos varejistas mais populares e provedores de streaming de música e vídeo, bem como assistentes virtuais, reconhecimento de padrões biométricos, detecção de anomalias e muito mais. E agora, os bancos de dados vetoriais encontraram um uso inédito e espetacular: armazenar grandes volumes de dados não estruturados que podem ser acessados para informar as saídas de modelos de IA generativa.

Uma tendência crescente é que bancos de dados estabelecidos, como MySQL e Oracle Database, incorporem dados vetoriais como um tipo de dados nativo juntamente com o restante dos dados de uma organização, como JSON, gráfico, espacial e relacional. Essa convergência elimina a necessidade de mover dados para um banco de dados separado para operações de IA generativa, o que simplifica o processo e deixa dados valiosos em repositórios confiáveis.

O crescimento dos casos de uso de IA generativa significa que há muitos bancos de dados vetoriais novos no mercado, além dos bancos de dados NoSQL e relacionais estabelecidos que adicionaram o gerenciamento do tipo de dados vetoriais.

Como os bancos de dados vetoriais funcionam?

Os bancos de dados vetoriais funcionam armazenando e processando dados como vetores, que são representações matemáticas de características de objetos no espaço multidimensional. Isso permite que tipos de dados complexos, como imagens, áudio, vídeo e dados de sensores, sejam armazenados e consultados com eficiência, tornando os vetores ideais para casos de uso como sistemas de recomendação, processamento de linguagem natural e reconhecimento de imagem.

As operações acontecem em várias etapas:

  • Vetorização. Vetores podem ser criados para descrever o conteúdo ou recursos de dados não estruturados. Esse banco de dados não estruturado pode estar na forma de texto armazenado em tabelas de banco de dados ou documentos armazenados em um sistema de arquivos.
  • Indexação. Os bancos de dados vetoriais usam índices vetoriais para organizar vetores de maneira hierárquica, permitindo a pesquisa e recuperação eficientes deles.
  • Consulta. Para consultar dados vetoriais, os bancos de dados vetoriais executam operações de distância vetorial usando um vetor de consulta. Quanto mais próximos os vetores são matematicamente, mais semelhantes são os objetos que os vetores representam. Normalmente, esse processo retornará um pequeno conjunto de resultados, como os cinco itens mais semelhantes.
  • Pós-processamento. Depois que um banco de dados vetorial recupera os vizinhos mais próximos de um vetor de consulta, ele tem a opção de reclassificar as linhas do conjunto de resultados. A reclassificação é uma operação cara em comparação com a consulta vetorial, mas pode dar uma ordem melhor para os resultados da consulta vetorial.
O diagrama ilustra como um banco de dados vetorial pode ajudar um serviço de streaming a recomendar o filme perfeito para fãs de ficção científica.

Tipos de bancos de dados vetoriais

Os bancos de dados vetoriais podem ser categorizados em vários tipos, seja por estrutura de armazenamento, como colunar, ou classificados com base na implementação, como bancos de dados na memória. Cada tipo tem vantagens; a escolha do tipo deve se basear nos requisitos específicos e casos de uso.

  • Bancos de dados colunares

    Um banco de dados colunar armazena dados em colunas e os agrupa em um disco. Essa disposição acelera a análise de dados porque a análise geralmente envolve filtragem e combinação de dados de colunas de tabelas. Os bancos de dados também podem armazenar registros em formato de linha, o que é útil para transações em que você deve atualizar um único item no registro. Para análise de dados, no entanto, um banco de dados colunar permite que os analistas digitalizem qualquer coluna de milhares ou milhões de registros com muita rapidez.

  • Armazenamentos de documentos

    Um banco de dados de armazenamento de documentos, ou banco de dados orientado a documentos, é um programa e sistema de armazenamento de dados que gerencia, recupera e armazena informações orientadas a documentos. Os bancos de dados de documentos armazenam dados em documentos flexíveis semelhantes a JSON, adequados para estruturas de dados variadas e dinâmicas. Eles diferem dos bancos de dados relacionais, que usam tabelas para organizar dados com um esquema fixo.

  • Bancos de dados gráficos

    A análise de gráfico é o processo de analisar dados em um formato de gráfico, usando pontos de dados como nós e relacionamentos como arestas. Olhar para os dados dessa maneira pode ajudar a descobrir conexões e relações que não eram óbvias antes. A análise de gráfico requer um banco de dados que possa aceitar formatos de gráfico. Pode ser um banco de dados gráfico dedicado ou um banco de dados convergente que aceita vários modelos de dados, incluindo gráfico.

  • Bancos de dados na memória

    Os bancos de dados na memória armazenam e manipulam dados na camada de memória de uma aplicação, em vez de em um disco de armazenamento. Esse tipo de estrutura geralmente é combinado com a funcionalidade de armazenamento colunar e planos de consulta vetorizados para acelerar consultas analíticas. Esse tipo de armazenamento de dados é bom para apoiar operações extremamente rápidas em telecomunicações globais e empresas que precisam tomar decisões com base em dados em tempo real.

  • Armazenamentos de chave/valor

    Os armazenamentos de chave/valor, às vezes também chamados de bancos de dados de chave/valor, são uma maneira rápida de armazenar e consultar dados que geralmente estão mudando, como itens em uma loja online. O armazenamento de chave/valor é um banco de dados do tipo NoSQL que usa um valor de chave para identificar um registro específico para consulta ou atualização.

  • Bancos de dados espaciais

    Um banco de dados espacial armazena e gerencia dados espaciais, que representam informações sobre a localização física e as propriedades geométricas dos objetos no espaço. Eles fazem isso com técnicas de indexação e operações de consulta. Os bancos de dados espaciais são usados para mapeamento e análise online, bem como em operações de logística de transporte.

  • Bancos de dados de séries temporais

    Um banco de dados de séries temporais é usado para armazenar e analisar com eficiência dados com registro de hora e data, em que cada ponto de dados é associado a um registro de hora e data ou intervalo de tempo específico. Esses bancos de dados são comumente usados em sistemas de monitoramento de TI que dependem da análise de log e em finanças.

  • Bancos de dados vetoriais para grandes modelos de linguagem

    Os bancos de dados vetoriais aprimoram grandes modelos de linguagem comerciais ou de código aberto ao dar a eles acesso a informações atualizadas fornecidas por uma organização ou empresa local. Isso ajuda a tornar a saída do LLM mais relevante e personalizada para as pessoas associadas a essa organização.

Quem utiliza bancos de dados vetoriais?

Os bancos de dados vetoriais são usados por várias aplicações e organizações que processam grandes quantidades de dados espaciais e geométricos, como nos setores de varejo e logística e para sistemas que pilotam veículos autônomos. E agora, as empresas que exploram IA avançada e machine learning também estão adotando os bancos de dados vetoriais. Os modelos de IA generativa, por exemplo, dependem de bancos de dados vetoriais para melhorar as saídas usando dados locais atualizados.

Outros casos de uso específicos incluem:

  • As empresas financeiras usam os vetores de várias maneiras. Por exemplo, em análise de portfólio, os vetores podem representar aspectos dos portfólios de um cliente. Eles também podem ser usados para acompanhar o desempenho da conta ao longo do tempo.
  • Pesquisadores de assistência médica usam bancos de dados vetoriais para respaldar as pesquisas e os testes clínicos. Eles armazenam e analisam dados relacionados à demografia do paciente, locais e resultados do tratamento, permitindo que os pesquisadores avaliem o impacto de muitos fatores diferentes na eficácia do tratamento.
  • Os varejistas online usam os bancos de dados vetoriais para referenciar compras passadas e hábitos de navegação e recomendar produtos que os clientes provavelmente acharão desejáveis.
  • As empresas de logística de envio usam os bancos de dados vetoriais para armazenar informações sobre locais e distâncias, permitindo que elas mapeiem e rastreiem objetos em movimento com precisão.
  • Os serviços de streaming usam vetores para executar mecanismos de recomendação, permitindo que eles apresentem recomendações com base em muitos fatores, como gênero, atores principais, data de lançamento e revisões.

Como os bancos de dados vetoriais são usados?

Os casos de uso dos bancos de dados vetoriais são tão variados quanto as organizações e as aplicações que dependem deles. Além de análise de dados em tempo real, sistemas financeiros e mecanismos de recomendação, os bancos de dados vetoriais são otimizados para lidar com as complexas estruturas de dados comumente necessárias para tarefas como reconhecimento de imagem e processamento de linguagem natural.

Ao armazenar e processar dados de forma eficiente, os bancos de dados vetoriais permitem que as empresas aproveitem estruturas de dados complexas para uma ampla gama de aplicações, incluindo:

  • Sistemas de recomendação. As incorporações vetoriais são usadas para encontrar rapidamente opções semelhantes de produtos ou entretenimento que provavelmente interessarão a um comprador ou navegador.
  • Mecanismos de pesquisa. Os mecanismos de pesquisa usam os bancos de dados vetoriais para indexar consultas e documentos com suas incorporações vetoriais, permitindo que eles localizem resultados de pesquisa semelhantes ou documentos semelhantes rapidamente.
  • Personalização. Esses sistemas usam informações demográficas e escolhas anteriores como guias para pesquisas vetoriais que identificam produtos ou serviços que provavelmente são correspondências para um usuário específico.
  • Detecção de anomalias. Os bancos de dados vetoriais permitem a pesquisa eficiente de vetores anômalos, mesmo em grandes conjuntos de dados. Isso pode ajudar as equipes de segurança a detectar tentativas de violação e as empresas de cartão de crédito a interromper transações fraudulentas.
  • Genômica e bioinformática. Como vetores e bancos de dados de vetores são bons em correspondência de padrões e detecção de anomalias, eles podem ajudar os pesquisadores a combinar sequências genéticas para comparação de grandes volumes de dados genéticos. Isso pode ajudar em áreas como previsão de doenças e descoberta de medicamentos.
  • Assistência médica e investigação médica. Os profissionais de saúde estão usando os bancos de dados vetoriais para armazenar e gerenciar informações relevantes para o atendimento ao paciente, como registros médicos, dados demográficos, resultados laboratoriais e até mesmo informações genéticas. Em testes clínicos, dados geoespaciais relacionados a locais de estudo, dados demográficos do paciente, resultados do tratamento e eventos adversos podem ser analisados para determinar a eficácia de um tratamento.
  • Recuperação de imagem e vídeo. As operações de recuperação de imagem e vídeo empregam os bancos de dados vetoriais para similaridade e pesquisas semânticas que rapidamente identificam imagens ou vídeos em meio a catálogos profundos de opções.

Vantagens dos bancos de dados vetoriais

Os bancos de dados vetoriais oferecem muitas vantagens, incluindo pesquisa rápida de similaridade. Eles são otimizados para buscas eficientes de vizinho mais próximo, permitindo a recuperação rápida de itens semelhantes mesmo em grandes conjuntos de dados. Isso os torna ideais para aplicações e setores que requerem processamento e análise em tempo real de dados não estruturados e para casos de uso emergentes de IA generativa.

Outras vantagens incluem:

  • Custo-benefício. Os bancos de dados vetoriais, sobretudo as opções de código aberto, como PostGIS, MySQL com extensões de vetores ou bancos de dados de vários modelos com lojas de vetores nativas, oferecem soluções econômicas para análise geoespacial e modelos de IA generativa.
  • Armazenamento eficiente. As técnicas de indexação espacial em bancos de dados vetoriais permitem o armazenamento e a organização eficientes de dados vetorizados.
  • Recuperação rápida. Os bancos de dados vetoriais são indexados para recuperação rápida de dados com base em muitos atributos de um objeto. Eles fazem isso observando relações e proximidade e usando-as para executar pesquisas rapidamente.
  • Integração com machine learning. Os bancos de dados vetoriais são projetados para integração com estruturas e algoritmos de machine learning, o que impulsiona o desenvolvimento de modelos preditivos, detecção de anomalias, clustering e outras análises baseadas em machine learning.
  • Personalização. Os bancos de dados vetoriais permitem que varejistas, serviços de streaming de música e até mesmo empresas de saúde personalizem seus serviços para encontrar rapidamente correspondências para as preferências e necessidades de um indivíduo.
  • Análises em tempo real. Os bancos de dados vetoriais podem permitir operações na memória para tempos de resposta de consulta rápidos e processamento eficiente de dados. Isso permite que eles executem análises em tempo real para a tomada de decisões do dia a dia.
  • Redução da complexidade do desenvolvimento. Os bancos de dados vetoriais podem fornecer APIs, bibliotecas e linguagens de consulta que abstraem as complexidades do gerenciamento de dados e do desenvolvimento de aplicações. Isso pode reduzir muito o tempo envolvido no processo de desenvolvimento de aplicações e, portanto, o custo.
  • Escalabilidade. Os bancos de dados vetoriais podem gerenciar e processar com eficiência milhões ou até bilhões de objetos vetoriais e, com a infraestrutura certa, crescer rapidamente para acompanhar a demanda.
  • Versatilidade. Os bancos de dados vetoriais são compatíveis com uma ampla gama de dados não estruturados, como gravações de áudio, documentos de texto e imagens. Essa versatilidade permite acomodar muitos casos de uso e aplicações.

Como a Oracle pode ajudar com as suas necessidades de vetor?

Quer você esteja usando IA generativa ou praticamente qualquer outra operação que utilize vetores, a Oracle pode ajudar.

O Oracle Database, o banco de dados empresarial mais popular do mundo, fornece uma única plataforma de dados para vetores e todos os seus dados de negócios. Aproveite sem esforço a capacidade de pesquisa de similaridade para os dados de sua empresa sem a necessidade de supervisionar e sincronizar bancos de dados diversos. O AI Vector Search permite realizar pesquisas em dados estruturados e não estruturados ao entender sua semântica ou significado e valores.

A combinação de dados relacionais, documentos JSON, gráficos, dados geoespaciais, texto e vetores em um único banco de dados permite que você crie rapidamente novos recursos em suas aplicações. O AI Vector Search no Oracle Database também pode ser usado em um pipeline de RAG junto com qualquer serviço de GenAI. Além disso, o serviço de banco de dados HeatWave MySQL da Oracle lida com vetores de forma nativa para permitir a pesquisa vetorial e outros casos de uso. Por exemplo, você pode usá-lo junto com o serviço RAG na Oracle Cloud Infrastructure (OCI) para trazer uma interface de IA generativa para seus documentos proprietários, dando a você uma IA especialista nos dados operacionais de sua organização.

Os bancos de dados vetoriais são fundamentais para casos de uso empolgantes de IA, incluindo chatbots que revolucionam o atendimento ao cliente e algoritmos que transformam a assistência médica. Veja como as empresas estão colocando o poder dos vetores para funcionar agora.

Perguntas frequentes sobre Banco de dados vetorial

Quando usar um banco de dados vetorial?

Um banco de dados vetorial pode ser usado para uma ampla variedade de casos de uso, incluindo aplicações geoespaciais, como logística de remessa ou pesquisa ambiental, recomendações para opções de entretenimento de varejo ou online ou, mais recentemente, como um repositório principal para dados que suportam IA generativa por organizações individuais.

A Netflix usa bancos de dados vetoriais?

A Netflix anunciou que usa bancos de dados vetoriais para apoiar seus mecanismos de recomendação populares. Ela aplica incorporações vetoriais a cada tipo de entretenimento no catálogo e o banco de dados vetorial permite a pesquisa em tempo real de títulos semelhantes.