Calculadora de tamaño de base de datos vectorial
Datos de entrada
| Número de vectores | 1.000.000 |
|---|---|
| Dimensiones | 1.536 |
| Bytes por valor | 4 |
| Sobrecarga del índice | 25 % |
Calculadora de tamaño de base de datos vectorial
Estima la huella de almacenamiento de un índice de embeddings a partir del número de vectores, la dimensión del vector, los bytes por valor y la sobrecarga del índice que añaden las estructuras de vecino más cercano aproximado.
Datos de entrada
Vectores
Índice
Resultados
Introduce un valor para ver los resultados.
Detalles
Definición
El tamaño de una base de datos vectorial es la cantidad de almacenamiento necesaria para guardar un conjunto de vectores de embedding junto con el índice de búsqueda construido sobre ellos. Cuando un sistema de recuperación genera los embeddings de un corpus, cada fragmento de documento se convierte en un vector —una lista de números de longitud fija— y todos esos vectores deben residir en un lugar que admita búsquedas de similitud rápidas. La huella depende de tres factores: cuántos vectores hay, qué longitud tiene cada vector y cuántos bytes ocupa cada valor.
Cómo se acumula la huella
Un vector es una matriz de dimensions números. Cada número se almacena con una
precisión elegida: 4 bytes para un float de 32 bits, 2 bytes para uno de 16 bits
o 1 byte para un entero cuantizado de 8 bits. Multiplicar el tamaño en bytes de
un valor por la dimensión da el tamaño de un vector, y multiplicar por el número
de vectores da la carga en bruto.
Sobre los vectores en bruto se sitúa el índice. Comparar una consulta con cada vector almacenado es exacto pero lento cuando el recuento alcanza los millones, así que las bases de datos vectoriales construyen una estructura de vecino más cercano aproximado —lo más habitual, un grafo HNSW— que permite a la búsqueda visitar solo una pequeña fracción de los vectores. Ese grafo guarda enlaces de vecinos por cada vector, y esos enlaces son datos adicionales que suelen añadir entre una quinta parte y la mitad del tamaño en bruto.
Fórmula
Con vectores de dimensión y cada valor ocupando bytes, el almacenamiento en bruto es
Sraw=N⋅d⋅by al añadir una sobrecarga de índice fraccionaria se obtiene el total:
S=Sraw⋅(1+o)Ejemplo
Consideremos un almacén de 2.400.000 vectores de un modelo con dimensión 768, mantenidos a precisión completa con 4 bytes por valor, y un índice HNSW que añade un 35 por ciento de sobrecarga. El tamaño en bruto es
Sraw=2400000×768×4=7372800000 bytes≈7.37 GBy con el índice,
S=7.37 GB×1.35≈9.95 GBPasar los mismos vectores a cuantización de 8 bits, 1 byte por valor, reduciría el tamaño en bruto a unos 1.84 GB y el total a unos 2.49 GB —una reducción de cuatro veces— a costa de una pequeña pérdida de precisión en el cálculo de la distancia.
Notas y variaciones
La estimación cubre únicamente los vectores y el índice. La mayoría de las bases de datos también almacenan el fragmento de texto original y los metadatos junto a cada vector; en fragmentos cortos esa carga puede ser comparable al propio vector, así que conviene sumarla aparte al dimensionar el disco total. La reducción de dimensión y la cuantización son las dos palancas principales para encoger un índice: reducir la dimensión a la mitad o cuantizar a int8 recorta de forma sustancial el tamaño en bruto antes de aplicar la sobrecarga del índice.
Aplicación
El tamaño de almacenamiento es la entrada del coste de alojamiento: una vez que se conoce cuántos gigabytes ocupa un índice, Calculadora de coste de base de datos vectorial lo convierte en una factura mensual. Los vectores que se dimensionan aquí los produce el paso de embedding tarifado en Calculadora de coste de embeddings, y el número de vectores suele derivarse de cómo se dividen los documentos de origen.
Preguntas frecuentes (FAQ)
¿Por qué el índice añade sobrecarga?
Almacenar los vectores en bruto permite comparar una consulta con cada vector, pero ese recorrido exhaustivo es lento a gran escala. Los índices de vecino más cercano aproximado como HNSW construyen un grafo navegable para que la búsqueda visite solo una pequeña fracción de los vectores.
Ese grafo guarda enlaces de vecinos por cada vector, datos adicionales sobre los propios vectores, que suelen suponer entre un 20 y un 50 por ciento más según lo denso que sea el grafo.
¿Cuánto ahorra la cuantización?
Los valores de embedding se producen como números de coma flotante de 32 bits, 4 bytes cada uno. Almacenarlos como floats de 16 bits reduce la huella a la mitad, y la cuantización a enteros de 8 bits la deja en una cuarta parte.
La cuantización introduce pequeños errores de redondeo en el cálculo de la distancia, pero para la recuperación la pérdida de calidad en el ranking suele ser leve, así que int8 es una forma habitual de reducir un índice grande. El campo de bytes por valor permite comparar las tres opciones directamente.
¿Incluye los metadatos y el texto?
No. La estimación cubre únicamente los vectores y el índice de búsqueda. La mayoría de las bases de datos vectoriales también almacenan el fragmento de texto original y metadatos como identificadores de documento, títulos y etiquetas junto a cada vector. Esa carga puede igualar o superar el tamaño del vector en fragmentos cortos, así que conviene sumarla aparte al dimensionar el uso total de disco.
Aviso legal
Esta es una huella aproximada de los vectores y el índice. Las bases de datos reales también almacenan el texto de origen, los metadatos y la información interna de gestión, y la sobrecarga de un índice concreto depende de su configuración. Conviene tratar el resultado como una estimación de planificación, no como una cifra exacta de disco.