Sobre el proyecto
rudb es una base de datos analítica embebida escrita en Rust, diseñada como una alternativa compatible con DuckDB con objetivos ambiciosos de rendimiento y recursos. El proyecto apunta a ser 10 veces más rápido que DuckDB en ClickBench y TPC-H, con un piso por consulta de nunca ser más lento que DuckDB, y reducciones de 10 veces en uso de disco, memoria y CPU. Su diseño central apuesta por diseños físicos elegidos en tiempo de ejecución, compresión multicolumna con diccionarios globales y operadores que ejecutan directamente sobre datos codificados en lugar de decodificar primero.
El estado actual es temprano: M0 está completo a partir de v0.1.0, proporcionando un espacio de trabajo con 27 crates, un motor de consultas en memoria, una shell de línea de comandos compatible con DuckDB con dieciséis modos de salida, y CI pasando en Linux, macOS y Windows. Aún no hay formato de almacenamiento persistente, ni optimizador, ni transacciones, y las uniones son bucles anidados. El siguiente hito, M1, es un experimento de formato para medir si las relaciones de compresión proyectadas son alcanzables antes de construir más.
El repositorio incluye una especificación detallada de veinte documentos escritos antes de la implementación, que cubren almacenamiento, compresión, ejecución, generación de código, optimización, compatibilidad SQL, transacciones, metodología de evaluación comparativa y pruebas. El desarrollo está organizado en torno a doce hitos rastreados como issues, con M3, M6 y M10 identificados como puntos de parada útiles. El proyecto está licenciado bajo Apache-2.0 y no está afiliado con DuckDB Labs; la compatibilidad se reimplementa contra formatos y encabezados publicados.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.