Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.
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
Клонируйте репозиторий
git clone https://github.com/monoscope-tech/timefusion.git - 2
Запустите включённый стек Compose (в него входит локальный MinIO; аккаунт AWS не нужен)
docker compose up - 3
Подключитесь с помощью psql через порт 5432
psql "postgresql://postgres:postgres@localhost:5432/postgres"
Что важно знать
- Проект ещё не достиг версии 1.0, поэтому схема, поведение на уровне протокола и конфигурация могут меняться между релизами.
- Для одного и того же каталога WAL одновременно может работать только один процесс TimeFusion.
- В запросах всегда нужно фильтровать по project_id, иначе они будут сканировать все тенанты и выполняться намного медленнее.
- Для сборки из исходного кода требуется Rust 1.85 или новее.
В подборках
Темы
Частые вопросы
- Что такое 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 Arrow, DataFusion и Parquet.
Open source база данных для наблюдаемости, которая хранит метрики, логи и трейсы в одном колоночном движке на объектном хранилище и поддерживает запросы на SQL и PromQL.
Open source-платформа для observability на Rust: хранит логи, метрики, трейсы и события в object storage и поставляется одним бинарным файлом.
Платформа с открытым исходным кодом для запросов, визуализации, оповещений и изучения метрик, логов и трейсов из множества источников данных.
Высокопроизводительный конвейер observability на Rust для сбора, преобразования и маршрутизации логов и метрик в любые системы назначения.