ParadeDB cierra la brecha de rendimiento con TIN en búsquedas BM25

Fuentes: ParadeDB closes performance gap with TIN in BM25 searches

ParadeDB ha publicado un análisis técnico detallado que demuestra cómo su motor de búsqueda de texto ha logrado igualar y superar las métricas de rendimiento de TIN, la extensión de búsqueda de texto para Postgres lanzada por PlanetScale. Aunque PlanetScale atribuye su ventaja inicial a una arquitectura que utiliza los campos internos ctid de Postgres como identificadores de documento, el equipo de ParadeDB logró cerrar la brecha mediante optimizaciones específicas en el código, sin depender de esa diferencia arquitectónica fundamental.

El análisis se centra en las consultas BM25 de tipo Top K, donde TIN mostraba hasta 8 veces más velocidad que la versión 0.25 de ParadeDB. Los ingenieros de ParadeDB identificaron dos cuellos de botella principales. Primero, la localidad de memoria en la lectura de las 'fieldnorms' (normalizadores de campo), que representaban el 83% de las lecturas de página en consultas simples. Al almacenar estos arrays junto a las listas de publicaciones, redujeron las lecturas de 1.500 a solo 30 páginas. Segundo, el algoritmo Blockmax WAND para consultas de disyunción con múltiples términos, que representaba el principal cuello de botella algorítmico. Estas optimizaciones permitieron a ParadeDB competir directamente con TIN en benchmarks de StackExchange y Hacker News, demostrando que la ingeniería de software puede superar las ventajas arquitectónicas iniciales mediante ajustes precisos en el uso de la memoria y los algoritmos de búsqueda.