Rayforce: base de datos columnar en C puro con analítica y grafos en un único pipeline

Fuentes: Rayforce: a pure C SIMD-accelerated columnar engine for analytics and graph workloads
Imagen generada por IA con el prompt: Editorial illustration of a sleek translucent C17 database engine: glowing columnar data blocks flowing into a fused pipeline with graph nodes, blue SIMD arrows, abstract CPU cache layers, dark technical background.
Imagen generada con IA

Rayforce es un motor embebible escrito en C17 sin dependencias externas que combina analítica columnar y recorridos de grafos dentro de un mismo pipeline. Su arquitectura se articula en tres fases: construcción de un grafo de operaciones (DAG) perezoso, optimización con múltiples pases —inferencia de tipos, plegado de constantes, factorización, pushdown de predicados y proyecciones, pruning de particiones, fusión de operadores y eliminación de código muerto— y ejecución como bytecode fusionado dirigido por morsels de 1024 elementos que permanecen en caché L1, con un pool de hilos que reparte el trabajo en paralelo. Las uniones hash usan particionado por radix dimensionado para L2.

El motor de grafos almacena los datos en formato CSR con doble índice (directo e inverso) y soporte para mmap, e incluye algoritmos como BFS, DFS, Dijkstra, A*, PageRank, Louvain, Betweenness y LFTJ. La ejecución factorizada evita materializar productos cruzados y propaga bitmaps de selección hacia atrás.

La gestión de memoria corre por cuenta del propio proyecto: un asignador buddy con slab cache logra O(1) en alrededor del 90% de las asignaciones, con arenas thread-local, asignación lock-free y conteo de referencias COW, sin recurrir a malloc del sistema. Incluye además búsqueda vectorial con índice HNSW multimétrico y consultas ANN conscientes de filtros.

El lenguaje de consulta Rayfall, de tipo Lisp, se evalúa sobre una máquina virtual bytecode con computed gotos y expone los operadores select, update y pivot al optimizador en tiempo de ejecución. Rayforce cuenta con bindings para Python y es desarrollado y patrocinado por Lynx, firma del sector financiero.