Olá,
Seria possível relacionar os bancos vetoriais com banco de dados NoSQL? Pois ambos armazenam em sua estrutura dados não estruturados e lidam com indexação e buscas de forma diferente dos bancos relacionais.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá,
Seria possível relacionar os bancos vetoriais com banco de dados NoSQL? Pois ambos armazenam em sua estrutura dados não estruturados e lidam com indexação e buscas de forma diferente dos bancos relacionais.
Oii, Nelson! Que conexão interessante você fez. É muito comum traçar esse paralelo, pois ambos se afastam do modelo rígido de tabelas e colunas dos bancos relacionais (SQL).
Embora existam semelhanças, a principal diferença não está apenas no que eles armazenam, mas em como eles "enxergam" e recuperam a informação.
Você tá correto ao notar pontos em comum:
Aqui é onde os caminhos se separam. Pra facilitar a compreensão, imagine a busca em cada um:
A busca ainda é, em grande parte, sintática ou por campos. Se você busca por um ID ou por uma palavra-chave específica dentro de um campo JSON, o banco procura a correspondência exata ou padrões de texto (como o "Search" do MongoDB).
A busca é matemática e semântica. O banco não procura pela palavra "remédio"; ele procura por vetores que estejam geometricamente próximos do vetor da pergunta do usuário. Ele calcula a "distância" entre conceitos.
Atualmente, a linha tá ficando tênue. Muitos bancos NoSQL (e até SQL, como o PostgreSQL com a extensão pgvector) estão adicionando capacidades de armazenamento vetorial.
Então, na prática, você pode ter um banco NoSQL que também funciona como uma Vector Store. O que define se ele é um "Banco Vetorial" naquele momento é o uso de algoritmos de Busca de Vizinhos Mais Próximos (ANN - Approximate Nearest Neighbor) para recuperar a informação.