Infino optimiza su motor de búsqueda para almacenar índices en S3

Fuentes: Infino optimizes search engine architecture for S3 object storage

Infino ha diseñado su motor de búsqueda para operar directamente sobre almacenamiento de objetos como S3, GCS y Azure Blob Storage, eliminando la dependencia de discos locales. Esta decisión arquitectónica responde a la necesidad de manejar datos estructurados y no estructurados a gran escala, donde la disponibilidad y el coste de red son críticos. A diferencia de los motores tradicionales como Lucene, que asumen que el índice reside en disco cercano a la CPU, Infino enfrenta el reto de que cada lectura aleatoria en el almacenamiento de objetos implica una solicitud HTTP de red, lo que aumenta significativamente el coste y la latencia.

Para mitigar esto, Infino organiza los datos en 'superfiles', archivos Parquet que contienen índices de texto completo y vectores. La clave de su optimización es el 'manifest', un archivo que actúa como índice de términos y estadísticas de columnas, permitiendo que las consultas eviten abrir superfiles innecesarios. Además, utiliza un índice de términos que almacena la posición de los documentos y límites de puntuación BM25, reduciendo las lecturas de red de 141 superfiles a cero en pruebas específicas. El sistema lee los datos de forma lúdica por rangos de bytes, evitando cargar todo el archivo cuando solo se necesita una parte específica, lo que minimiza el coste de red y mejora la eficiencia en consultas de top-k y conteo.