QuestDB hace WINDOW JOIN paralelo y vectorizado con SIMD

Fuentes: How we made WINDOW JOIN parallel and vectorized

QuestDB ha reescrito su operador WINDOW JOIN para que se ejecute en paralelo a nivel de datos y aproveche instrucciones SIMD en la agregación interna. La nueva ruta emplea dos piezas: paralelización por page frames sobre la tabla izquierda (LHS), y una vía rápida para claves de baja cardinalidad que copia los valores de la tabla derecha (RHS) en búferes contiguos por clave, de modo que los kernels SIMD ya existentes (sum, avg, min, max y otros) operen sobre bloques contiguos sin cambios. Cada worker se responsabiliza de un page frame; gracias al almacenamiento por timestamp designado, la porción necesaria del RHS se localiza con una búsqueda binaria por worker. Después, para un frame, el worker construye en memoria un índice de timestamps por clave y búferes de valores por clave; el bucle interno se reduce a dos búsquedas binarias por fila del LHS y una agregación vectorizada sobre el rango contiguo resultante. El paso extra sobre el RHS —leer cada columna dos veces para llenar búferes y luego agregarla— solo compensa cuando la agregación es SIMD-limitada sobre datos contiguos y la join es de baja cardinalidad, condición que cubre el caso típico equi-join por símbolo. En las pruebas, sobre una tabla trades de 50 millones de filas y una precios de 150 millones, la ruta paralela + SIMD es 5,0 veces más rápida que la versión mono-hilo de QuestDB y 25 veces más rápida que la mejor reescritura equivalente en ClickHouse. WINDOW JOIN es la sintaxis dedicada de QuestDB para agregar una tabla sobre una ventana temporal alrededor de cada fila de otra, evitando el ASOF JOIN + range join + UNION ALL + GROUP BY que antes hacía ese mismo trabajo con varias pasadas independientes.