Repolode
monoscope-tech

monoscope-tech/timefusion

Banco de dados de séries temporais para logs, traces, métricas e eventos, que armazena dados como tabelas Delta Lake no S3 e permite consultas pelo protocolo wire do PostgreSQL.

Estrelas
221
Forks
9
Issues abertas
7
Último commit
ontem

O que é?

O TimeFusion armazena dados de observabilidade, como logs, traces, métricas e eventos, em tabelas Delta Lake no seu próprio armazenamento de objetos compatível com S3, como S3, MinIO ou R2. Ele expõe o protocolo wire do PostgreSQL, então o psql e os drivers padrão do Postgres podem inserir e consultar dados sem precisar de um novo cliente. A execução das consultas é feita pelo Apache DataFusion sobre arquivos Parquet.

As gravações passam por um write-ahead log e um buffer em memória e, depois, são descarregadas para o Delta em segundo plano, para que as inserções sejam confirmadas rapidamente. As consultas combinam o buffer em memória com os dados no S3, deixando as linhas gravadas recentemente disponíveis na hora. Os dados são particionados por project_id e data, e espera-se que as consultas filtrem por project_id para garantir o isolamento entre tenants e a poda de partições.

O projeto ainda está na versão pré-1.0 e roda em produção na APIToolkit. Um único processo deve ser responsável por um determinado diretório WAL. A configuração inclui o tamanho do buffer, o intervalo de flush e um cache de memória e disco baseado no Foyer.

Recursos principais

  • 01Armazena dados como Parquet sob um log de transações Delta Lake em armazenamento compatível com S3.
  • 02Aceita conexões do psql e de qualquer driver PostgreSQL.
  • 03Executa SQL analítico com DataFusion, incluindo funções de janela e PERCENTILE_CONT.
  • 04Armazena gravações em um WAL e em um buffer em memória, descarregando-as para o Delta em segundo plano.
  • 05Particiona e isola os dados por project_id.
  • 06Oferece cache de memória e disco por meio do Foyer.

Casos de uso

  • Armazenar logs de aplicações e traces do OpenTelemetry no seu próprio bucket S3.
  • Analisar latência e taxa de erros em dados de eventos por projeto usando SQL padrão.
  • Dar acesso a dados de eventos para ferramentas de BI ou observabilidade existentes baseadas em Postgres, sem precisar de um novo cliente.

Início rápido

  1. 1

    Clone o repositório

    git clone https://github.com/monoscope-tech/timefusion.git
  2. 2

    Inicie a stack Compose incluída (com MinIO local; não é necessária uma conta da AWS)

    docker compose up
  3. 3

    Conecte-se com psql na porta 5432

    psql "postgresql://postgres:postgres@localhost:5432/postgres"

Antes de usar

  • O projeto ainda está na versão pré-1.0, então o esquema, o comportamento no protocolo e a configuração podem mudar entre versões.
  • Apenas um processo do TimeFusion pode ser executado por vez no mesmo diretório WAL.
  • As consultas devem sempre filtrar por project_id; caso contrário, farão a varredura de todos os tenants e serão muito mais lentas.
  • Para compilar a partir do código-fonte, é necessário ter Rust 1.85 ou posterior.

Em coleções

Tópicos

#timeseries#observability#delta-lake#postgresql#datafusion#parquet#s3#logs

Perguntas frequentes

O que é timefusion?
Banco de dados de séries temporais para logs, traces, métricas e eventos, que armazena dados como tabelas Delta Lake no S3 e permite consultas pelo protocolo wire do PostgreSQL. O TimeFusion armazena dados de observabilidade, como logs, traces, métricas e eventos, em tabelas Delta Lake no seu próprio armazenamento de objetos compatível com S3, como S3, MinIO ou R2. Ele expõe o protocolo wire do PostgreSQL, então o psql e os drivers padrão do Postgres podem inserir e consultar dados sem precisar de um novo cliente. A execução das consultas é feita pelo Apache DataFusion sobre arquivos Parquet.
timefusion é gratuito? Qual é a licença?
timefusion é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
timefusion ainda é mantido?
Manutenção ativa. O último commit de timefusion foi em 5 de nov. de 2026.
Para que posso usar timefusion?
Armazenar logs de aplicações e traces do OpenTelemetry no seu próprio bucket S3. Analisar latência e taxa de erros em dados de eventos por projeto usando SQL padrão. Dar acesso a dados de eventos para ferramentas de BI ou observabilidade existentes baseadas em Postgres, sem precisar de um novo cliente.
Como instalar timefusion?
Clone o repositório: git clone https://github.com/monoscope-tech/timefusion.git Inicie a stack Compose incluída (com MinIO local; não é necessária uma conta da AWS): docker compose up Conecte-se com psql na porta 5432: psql "postgresql://postgres:postgres@localhost:5432/postgres"
Onde consigo timefusion?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/monoscope-tech/timefusion

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Um acelerador para Spark que executa operadores de Spark SQL e DataFrame sobre dados colunares do Apache Arrow com um mecanismo Rust baseado em DataFusion, sem alterações no código.

Dados e análise#spark#arrow#datafusion
1,3 mil+9 esta semana413ScalaApache-2.0Atualizado há 3 horas