Un acelerador de Spark que ejecuta operadores de Spark SQL y DataFrame sobre datos columnares de Apache Arrow mediante un motor Rust basado en DataFusion, sin cambios en el código.
monoscope-tech/timefusion
Base de datos de series temporales para logs, trazas, métricas y eventos, que almacena datos como tablas Delta Lake en S3 y permite consultarlos mediante el protocolo wire de PostgreSQL.
- Estrellas
- 223
- Forks
- 9
- Issues abiertos
- 7
- Último commit
- hace 10 horas
¿Qué es?
TimeFusion almacena datos de observabilidad, como logs, trazas, métricas y eventos, en forma de tablas Delta Lake en tu propio almacenamiento de objetos compatible con S3, como S3, MinIO o R2. Expone el protocolo wire de PostgreSQL, por lo que psql y los drivers estándar de Postgres pueden insertar y consultar datos sin necesidad de un cliente nuevo. Apache DataFusion ejecuta las consultas sobre archivos Parquet.
Las escrituras pasan por un write-ahead log y un búfer en memoria; luego, se vacían a Delta en segundo plano para confirmar las inserciones rápidamente. Las consultas combinan el búfer en memoria con los datos de S3, de modo que las filas recién escritas quedan visibles de inmediato. Los datos se particionan por project_id y fecha, y se espera que las consultas filtren por project_id para aislar tenants y optimizar el descarte de particiones.
El proyecto aún no ha llegado a la versión 1.0 y se ejecuta en producción en APIToolkit. Un único proceso debe ser propietario de cada directorio WAL, y la configuración incluye el tamaño del búfer, el intervalo de vaciado y una caché de memoria y disco basada en Foyer.
Funciones clave
- 01Almacena datos como Parquet bajo un log de transacciones de Delta Lake en almacenamiento compatible con S3.
- 02Acepta conexiones de psql y cualquier driver de PostgreSQL.
- 03Ejecuta consultas SQL analíticas con DataFusion, incluidas funciones de ventana y PERCENTILE_CONT.
- 04Almacena temporalmente las escrituras en un WAL y un búfer en memoria, y las vacía a Delta en segundo plano.
- 05Particiona y aísla los datos por project_id.
- 06Ofrece una caché de memoria y disco mediante Foyer.
Casos de uso
- Almacenar logs de aplicaciones y trazas de OpenTelemetry en tu propio bucket de S3.
- Analizar la latencia y las tasas de error de datos de eventos por proyecto con SQL estándar.
- Dar acceso a datos de eventos a herramientas de BI u observabilidad existentes basadas en Postgres, sin necesidad de un cliente nuevo.
Inicio rápido
- 1
Clona el repositorio
git clone https://github.com/monoscope-tech/timefusion.git - 2
Inicia la pila de Compose incluida (incluye MinIO local; no necesitas una cuenta de AWS)
docker compose up - 3
Conéctate con psql en el puerto 5432
psql "postgresql://postgres:postgres@localhost:5432/postgres"
Antes de usarlo
- El proyecto aún es anterior a la versión 1.0, por lo que el esquema, el comportamiento en el cable y la configuración pueden cambiar entre versiones.
- Solo puede ejecutarse un proceso de TimeFusion a la vez sobre un mismo directorio WAL.
- Las consultas siempre deben filtrar por project_id; de lo contrario, recorrerán todos los tenants y serán mucho más lentas.
- Para compilar desde el código fuente se requiere Rust 1.85 o posterior.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es timefusion?
- Base de datos de series temporales para logs, trazas, métricas y eventos, que almacena datos como tablas Delta Lake en S3 y permite consultarlos mediante el protocolo wire de PostgreSQL. TimeFusion almacena datos de observabilidad, como logs, trazas, métricas y eventos, en forma de tablas Delta Lake en tu propio almacenamiento de objetos compatible con S3, como S3, MinIO o R2. Expone el protocolo wire de PostgreSQL, por lo que psql y los drivers estándar de Postgres pueden insertar y consultar datos sin necesidad de un cliente nuevo. Apache DataFusion ejecuta las consultas sobre archivos Parquet.
- ¿timefusion es gratuito? ¿Qué licencia tiene?
- timefusion es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿timefusion sigue mantenido?
- Mantenimiento activo. El último commit de timefusion fue el 7 nov 2026.
- ¿Para qué puedo usar timefusion?
- Almacenar logs de aplicaciones y trazas de OpenTelemetry en tu propio bucket de S3. Analizar la latencia y las tasas de error de datos de eventos por proyecto con SQL estándar. Dar acceso a datos de eventos a herramientas de BI u observabilidad existentes basadas en Postgres, sin necesidad de un cliente nuevo.
- ¿Cómo se instala timefusion?
- Clona el repositorio: git clone https://github.com/monoscope-tech/timefusion.git Inicia la pila de Compose incluida (incluye MinIO local; no necesitas una cuenta de AWS): docker compose up Conéctate con psql en el puerto 5432: psql "postgresql://postgres:postgres@localhost:5432/postgres"
- ¿Dónde consigo timefusion?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/monoscope-tech/timefusion
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Base de datos de series temporales de código abierto para eventos, métricas y datos de monitoreo en tiempo real, basada en Apache Arrow, DataFusion y Parquet.
Una base de datos de observabilidad de código abierto que almacena métricas, logs y trazas en un único motor columnar sobre almacenamiento de objetos, consultable con SQL y PromQL.
Plataforma open source de observabilidad en Rust que almacena logs, métricas, trazas y eventos en almacenamiento de objetos mediante un único binario.
Plataforma de código abierto para consultar, visualizar, explorar y configurar alertas sobre métricas, registros y trazas de múltiples fuentes de datos.
Pipeline de observabilidad de alto rendimiento escrito en Rust que recopila, transforma y enruta logs y métricas a cualquier destino.