Repolode
monoscope-tech

monoscope-tech/timefusion

База данных временных рядов для логов, трейсов, метрик и событий: хранит данные в таблицах Delta Lake в S3 и поддерживает запросы по wire-протоколу PostgreSQL.

Звёзды
223
Форки
9
Открытые issues
7
Последний коммит
10 часов назад

Что это?

TimeFusion хранит данные наблюдаемости — логи, трейсы, метрики и события — в таблицах Delta Lake на вашем собственном S3-совместимом объектном хранилище, например S3, MinIO или R2. Сервис поддерживает wire-протокол PostgreSQL, поэтому psql и стандартные драйверы Postgres могут записывать и запрашивать данные без нового клиента. Запросы выполняет Apache DataFusion, обрабатывая файлы Parquet.

Запись проходит через журнал упреждающей записи (WAL) и буфер в памяти, а затем в фоновом режиме сбрасывается в Delta, поэтому подтверждение вставки не заставляет долго ждать. Запросы объединяют данные из буфера в памяти и из S3, благодаря чему недавно записанные строки видны сразу. Данные разбиваются на разделы по project_id и дате; предполагается, что запросы фильтруют данные по project_id для изоляции арендаторов и отсечения ненужных разделов.

Проект пока не достиг версии 1.0 и используется в production в APIToolkit. Каталог WAL должен принадлежать только одному процессу; настройки позволяют задать размер буфера, интервал сброса, а также кэш в памяти и на диске на базе Foyer.

Ключевые возможности

  • 01Хранит данные в формате Parquet, используя журнал транзакций Delta Lake на S3-совместимом хранилище.
  • 02Принимает подключения от psql и любых драйверов PostgreSQL.
  • 03Выполняет аналитические SQL-запросы с помощью DataFusion, в том числе с оконными функциями и PERCENTILE_CONT.
  • 04Буферизует записи в WAL и буфере в памяти, а затем сбрасывает их в Delta в фоновом режиме.
  • 05Разбивает данные на разделы и изолирует их по project_id.
  • 06Предоставляет кэш в памяти и на диске с помощью Foyer.

Сценарии использования

  • Хранение логов приложений и трейсов OpenTelemetry в собственном бакете S3.
  • Анализ задержек и частоты ошибок по данным событий отдельных проектов с помощью стандартного SQL.
  • Предоставление существующим BI-инструментам и средствам наблюдаемости на базе Postgres доступа к данным событий без нового клиента.

Быстрый старт

  1. 1

    Клонируйте репозиторий

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

    Запустите включённый стек Compose (в него входит локальный MinIO; аккаунт AWS не нужен)

    docker compose up
  3. 3

    Подключитесь с помощью psql через порт 5432

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

Что важно знать

  • Проект ещё не достиг версии 1.0, поэтому схема, поведение на уровне протокола и конфигурация могут меняться между релизами.
  • Для одного и того же каталога WAL одновременно может работать только один процесс TimeFusion.
  • В запросах всегда нужно фильтровать по project_id, иначе они будут сканировать все тенанты и выполняться намного медленнее.
  • Для сборки из исходного кода требуется Rust 1.85 или новее.

В подборках

Темы

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

Частые вопросы

Что такое timefusion?
База данных временных рядов для логов, трейсов, метрик и событий: хранит данные в таблицах Delta Lake в S3 и поддерживает запросы по wire-протоколу PostgreSQL. TimeFusion хранит данные наблюдаемости — логи, трейсы, метрики и события — в таблицах Delta Lake на вашем собственном S3-совместимом объектном хранилище, например S3, MinIO или R2. Сервис поддерживает wire-протокол PostgreSQL, поэтому psql и стандартные драйверы Postgres могут записывать и запрашивать данные без нового клиента. Запросы выполняет Apache DataFusion, обрабатывая файлы Parquet.
timefusion можно использовать бесплатно? Какая у него лицензия?
timefusion распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
timefusion всё ещё поддерживается?
Активно поддерживается. Последний коммит в timefusion — 7 нояб. 2026 г..
Для чего можно использовать timefusion?
Хранение логов приложений и трейсов OpenTelemetry в собственном бакете S3. Анализ задержек и частоты ошибок по данным событий отдельных проектов с помощью стандартного SQL. Предоставление существующим BI-инструментам и средствам наблюдаемости на базе Postgres доступа к данным событий без нового клиента.
Как установить timefusion?
Клонируйте репозиторий: git clone https://github.com/monoscope-tech/timefusion.git Запустите включённый стек Compose (в него входит локальный MinIO; аккаунт AWS не нужен): docker compose up Подключитесь с помощью psql через порт 5432: psql "postgresql://postgres:postgres@localhost:5432/postgres"
Где скачать timefusion?
Исходный код и инструкции по установке — на GitHub: https://github.com/monoscope-tech/timefusion

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.

1,3 тыс.+7 за неделю414ScalaApache-2.0Обновлён 2 часа назад

Open source база данных для наблюдаемости, которая хранит метрики, логи и трейсы в одном колоночном движке на объектном хранилище и поддерживает запросы на SQL и PromQL.

6,8 тыс.+14 за неделю578RustApache-2.0Обновлён 6 часов назад