Bluesky implementa filtros de Bloom de un solo hash para optimizar su backend

Fuentes: Bluesky implements One Hash Bloom Filters to optimize backend performance

El equipo de ingeniería de Bluesky ha desplegado en producción una implementación de filtros de Bloom de un solo hash (One Hash Bloom Filters) en su backend, una decisión técnica diseñada para reducir la latencia de consultas y mejorar la escalabilidad del sistema. Esta estructura de datos probabilística permite determinar si una clave existe en un conjunto con una tasa de falsos positivos controlada, utilizando una fracción mínima de memoria en comparación con el tamaño del conjunto de datos. En la plataforma, estos filtros se emplean para evitar consultas costosas a la base de datos Scylla al verificar bloqueos, mutuos y etiquetas, logrando una tasa de aciertos del 99% en la mayoría de las búsquedas.

La transición hacia esta arquitectura se motivó por las limitaciones de las implementaciones tradicionales de doble hash, que, aunque más baratas que el acceso a disco, presentaban cuellos de botella por la contención de mutexes en entornos de alto rendimiento. El equipo identificó que la sincronización era el principal obstáculo para el despliegue, reduciendo el tiempo de lanzamiento de 90 a 15 minutos mediante el uso de instrucciones atómicas de CPU. La nueva solución, desarrollada por el ingeniero JCalabro y disponible en el repositorio gloom, utiliza matemáticas avanzadas para derivar múltiples posiciones de bits a partir de un único hash, eliminando la necesidad de múltiples funciones de hash independientes. Además, la implementación incorpora optimizaciones de caché, alineando los bloques de 64 bytes con las líneas de caché de la CPU y utilizando instrucciones de multiplicación en lugar de división para seleccionar el bloque a verificar. Esta técnica ha sido operativa durante los últimos nueve meses en el backend de Bluesky y en su servicio de sincronización Jetstream, demostrando su viabilidad para cargas de trabajo de alta frecuencia.