turbopuffer es un motor de búsqueda sin servidor que se lanzó como una base de datos vectorial optimizada para la búsqueda de vecinos más cercanos aproximados (ANN), manejando más de 1 billón de documentos y 10 millones de escrituras por segundo. En sus primeras dos versiones, el sistema almacenaba todos los datos de los documentos indexados por una dirección ANN derivada de un índice de clustering jerárquico (SPFresh), lo que convertía al índice ANN en el índice principal alrededor del cual se organizaban el filtrado de atributos, la búsqueda de texto completo y otros planes de consulta.

logotipo de turbopuffer
Logotipo de turbopuffer, el motor de búsqueda que está rediseñando su arquitectura de almacenamiento para la versión 3.turbopuffer.com

La imagen muestra el logotipo de turbopuffer, representando a la empresa cuyos cambios arquitectónicos de vector-first a índice secundario se discuten en el artículo.

Este diseño creó tres limitaciones principales: amplificación de almacenamiento, donde los documentos con múltiples vectores requerían duplicar los datos no vectoriales bajo la dirección ANN de cada vector; amplificación de escritura, ya que cualquier rebalanceo de vectores durante las actualizaciones obligaba a mover el documento completo y todos los índices asociados de atributos y búsqueda de texto completo; y vectorización limitada, ya que el tamaño óptimo de clúster del índice ANN de 100-200 documentos limitaba los tamaños de bloque para otros planes de consulta, evitando un uso eficiente de la CPU hasta que turbopuffer v2 rediseñó la búsqueda de texto completo para bloques fijos de 256 documentos.

En la versión 3 de turbopuffer, la empresa está desacoplando el almacenamiento de documentos del índice ANN, convirtiendo al ANN en simplemente otro índice secundario para que cada tipo de consulta pueda almacenarse e indexarse de manera óptima. La publicación del blog indica que la versión 3 ha logrado un 100% de éxito en la integración continua y el equipo ahora se enfoca en mejoras de rendimiento, con planes para compartir públicamente los resultados de los benchmarks en las próximas semanas mientras trabajan para alcanzar y superar la paridad de rendimiento antes de un despliegue en producción.