Calculadora de Tamanho de Banco de Dados Vetorial
Entradas
| Quantidade de Vetores | 1.000.000 |
|---|---|
| Dimensões | 1.536 |
| Bytes por Valor | 4 |
| Sobrecarga de Índice | 25 % |
Calculadora de Tamanho de Banco de Dados Vetorial
Estime o espaço de armazenamento de um índice de embeddings a partir da quantidade de vetores, da dimensão de cada vetor, dos bytes por valor e da sobrecarga adicionada pelas estruturas de busca por vizinhos aproximados.
Entradas
Vetores
Índice
Resultados
Insira um valor para ver os resultados.
Detalhes
O tamanho de um banco de dados vetorial explicado
O tamanho de um banco de dados vetorial é a quantidade de armazenamento necessária para guardar um conjunto de vetores de embedding junto com o índice de busca construído sobre eles. Quando um sistema de recuperação vetoriza um corpus, cada fragmento de documento vira um vetor — uma lista de números de comprimento fixo — e todos esses vetores precisam residir em algum lugar que suporte busca por similaridade rápida. O espaço é determinado por três fatores: quantos vetores existem, qual o comprimento de cada vetor e quantos bytes cada valor ocupa.
Como o espaço se acumula
Um único vetor é um arranjo de dimensions números. Cada número é armazenado em
uma precisão escolhida: 4 bytes para um flutuante de 32 bits, 2 bytes para um
flutuante de 16 bits ou 1 byte para um inteiro quantizado de 8 bits.
Multiplicar o tamanho em bytes de um valor pela dimensão dá o tamanho de um
vetor, e multiplicar pela quantidade de vetores dá o conteúdo bruto.
Sobre os vetores brutos fica o índice. Comparar uma consulta com cada vetor armazenado é preciso, mas lento quando a contagem chega aos milhões, então os bancos de dados vetoriais constroem uma estrutura de vizinhos aproximados — mais comumente um grafo HNSW — que permite à busca visitar apenas uma pequena fração dos vetores. Esse grafo guarda ligações de vizinhança para cada vetor, e essas ligações são dados extras, em geral somando algo entre um quinto e metade do tamanho bruto.
A fórmula
Com vetores de dimensão , cada valor ocupando bytes, o armazenamento bruto é
Sraw=N⋅d⋅be adicionar uma sobrecarga fracionária de índice dá o total:
S=Sraw⋅(1+o)Exemplo resolvido
Considere um repositório de 2.400.000 vetores de um modelo com dimensão 768, mantidos em precisão total, de modo que cada valor ocupa 4 bytes, com um índice HNSW que adiciona 35 por cento de sobrecarga. O tamanho bruto é
Sraw=2400000×768×4=7372800000 bytes≈7.37 GBe, com o índice,
S=7.37 GB×1.35≈9.95 GBMudar os mesmos vetores para quantização de 8 bits, 1 byte por valor, reduziria o tamanho bruto para cerca de 1.84 GB e o total para aproximadamente 2.49 GB — uma redução de quatro vezes — ao custo de uma pequena perda de precisão no cálculo de distância.
Observações e variações
A estimativa cobre apenas os vetores e o índice. A maioria dos bancos de dados também armazena o fragmento de texto original e os metadados ao lado de cada vetor; para fragmentos curtos, esse conteúdo pode ser comparável ao próprio vetor, então some-o à parte ao dimensionar o disco total. A redução de dimensão e a quantização são as duas principais alavancas para encolher um índice: reduzir a dimensão à metade ou quantizar para int8 corta substancialmente o tamanho bruto antes de qualquer sobrecarga de índice ser aplicada.
Aplicação
O tamanho de armazenamento é a entrada para o custo de hospedagem — uma vez que se sabe quantos gigabytes um índice ocupa, a Calculadora de Custo de Banco de Dados Vetorial transforma isso em uma conta mensal. Os vetores dimensionados aqui são produzidos pela etapa de embedding cujo preço é calculado pela Calculadora de Custo de Embedding, e a quantidade de vetores em geral decorre de como os documentos de origem são divididos.
Perguntas frequentes (FAQ)
Por que o índice adiciona sobrecarga?
Armazenar os vetores brutos permite comparar uma consulta com cada vetor, mas essa varredura por força bruta é lenta em escala. Índices de vizinhos aproximados como o HNSW constroem um grafo navegável para que a busca visite apenas uma pequena fração dos vetores. Esse grafo guarda ligações de vizinhança para cada vetor, o que é dado extra além dos próprios vetores — em geral de 20 a 50 por cento a mais, dependendo de quão denso é o grafo.
Quanto a quantização economiza?
Os valores de embedding são produzidos como números de ponto flutuante de 32 bits, 4 bytes cada. Armazená-los como flutuantes de 16 bits reduz o espaço à metade, e a quantização para inteiros de 8 bits o reduz a um quarto.
A quantização introduz pequenos erros de arredondamento no cálculo de distância, mas, para recuperação, a perda na qualidade da ordenação costuma ser pequena, então o int8 é uma forma comum de encolher um índice grande. O campo de bytes por valor permite comparar as três opções diretamente.
Isso inclui metadados e texto?
Não. A estimativa cobre apenas os vetores e o índice de busca. A maioria dos bancos de dados vetoriais também armazena o fragmento de texto original e metadados como IDs de documentos, títulos e tags ao lado de cada vetor. Para fragmentos curtos, esse conteúdo pode rivalizar ou superar o tamanho do vetor, então some-o à parte ao dimensionar o uso total de disco.
Aviso legal
Esta é uma estimativa aproximada do espaço dos vetores e do índice. Bancos de dados reais também armazenam o texto de origem, os metadados e a contabilidade interna, e a sobrecarga de um índice específico depende de sua configuração. Trate o resultado como uma estimativa de planejamento, e não como um valor exato de disco.