Repolode
monoscope-tech

monoscope-tech/timefusion

로그, 트레이스, 메트릭, 이벤트를 S3의 Delta Lake 테이블로 저장하고 PostgreSQL wire protocol로 쿼리하는 시계열 데이터베이스입니다.

스타
223
포크
9
열린 이슈
7
마지막 커밋
9시간 전

어떤 프로젝트인가요?

TimeFusion은 로그, 트레이스, 메트릭, 이벤트 같은 옵저버빌리티 데이터를 S3, MinIO, R2 등 직접 운영하는 S3 호환 오브젝트 스토리지에 Delta Lake 테이블로 저장합니다. PostgreSQL wire protocol을 제공하므로 새로운 클라이언트 없이 psql과 표준 Postgres 드라이버로 데이터를 삽입하고 쿼리할 수 있습니다. 쿼리 실행은 Parquet 파일을 대상으로 Apache DataFusion이 처리합니다.

쓰기 작업은 write-ahead log와 메모리 버퍼를 거친 뒤 백그라운드에서 Delta로 플러시되므로 삽입 요청에 빠르게 응답합니다. 쿼리 시 메모리 버퍼와 S3의 데이터를 함께 조회하므로 방금 쓴 행도 바로 확인할 수 있습니다. 데이터는 project_id와 날짜 기준으로 파티셔닝되며, 테넌트 격리와 파티션 프루닝을 위해 쿼리에서 project_id를 필터링하는 것을 전제로 합니다.

이 프로젝트는 아직 1.0 이전 버전이며 APIToolkit에서 프로덕션 환경으로 운영 중입니다. 각 WAL 디렉터리는 하나의 프로세스만 소유해야 하며, 설정에서는 버퍼 크기와 플러시 간격, Foyer 기반 메모리 및 디스크 캐시를 지정할 수 있습니다.

핵심 기능

  • 01S3 호환 스토리지에 Delta Lake 트랜잭션 로그를 두고, 데이터를 Parquet 형식으로 저장합니다.
  • 02psql 및 모든 PostgreSQL 드라이버의 연결을 지원합니다.
  • 03윈도우 함수와 PERCENTILE_CONT를 포함한 분석 SQL을 DataFusion으로 실행합니다.
  • 04WAL과 메모리 버퍼에 쓰기를 저장하고 백그라운드에서 Delta로 플러시합니다.
  • 05project_id를 기준으로 데이터를 파티셔닝하고 격리합니다.
  • 06Foyer를 통해 메모리 및 디스크 캐시를 제공합니다.

활용 사례

  • 직접 운영하는 S3 버킷에 애플리케이션 로그와 OpenTelemetry 트레이스를 저장합니다.
  • 표준 SQL로 프로젝트별 이벤트 데이터를 분석해 지연 시간과 오류율을 파악합니다.
  • 새 클라이언트 없이 기존 Postgres 기반 BI 또는 옵저버빌리티 도구에서 이벤트 데이터에 접근할 수 있도록 합니다.

빠른 시작

  1. 1

    저장소를 클론합니다

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

    포함된 Compose 스택을 시작합니다(로컬 MinIO 포함, AWS 계정 불필요)

    docker compose up
  3. 3

    포트 5432에서 psql로 연결합니다

    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은(는) 무엇인가요?
로그, 트레이스, 메트릭, 이벤트를 S3의 Delta Lake 테이블로 저장하고 PostgreSQL wire protocol로 쿼리하는 시계열 데이터베이스입니다. TimeFusion은 로그, 트레이스, 메트릭, 이벤트 같은 옵저버빌리티 데이터를 S3, MinIO, R2 등 직접 운영하는 S3 호환 오브젝트 스토리지에 Delta Lake 테이블로 저장합니다. PostgreSQL wire protocol을 제공하므로 새로운 클라이언트 없이 psql과 표준 Postgres 드라이버로 데이터를 삽입하고 쿼리할 수 있습니다. 쿼리 실행은 Parquet 파일을 대상으로 Apache DataFusion이 처리합니다.
timefusion은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
timefusion은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
timefusion은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. timefusion의 마지막 커밋은 2026년 11월 7일입니다.
timefusion은(는) 어디에 사용할 수 있나요?
직접 운영하는 S3 버킷에 애플리케이션 로그와 OpenTelemetry 트레이스를 저장합니다. 표준 SQL로 프로젝트별 이벤트 데이터를 분석해 지연 시간과 오류율을 파악합니다. 새 클라이언트 없이 기존 Postgres 기반 BI 또는 옵저버빌리티 도구에서 이벤트 데이터에 접근할 수 있도록 합니다.
timefusion는 어떻게 설치하나요?
저장소를 클론합니다: git clone https://github.com/monoscope-tech/timefusion.git 포함된 Compose 스택을 시작합니다(로컬 MinIO 포함, AWS 계정 불필요): docker compose up 포트 5432에서 psql로 연결합니다: psql "postgresql://postgres:postgres@localhost:5432/postgres"
timefusion은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/monoscope-tech/timefusion

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

Apache Arrow 컬럼형 데이터를 DataFusion 기반 Rust 엔진으로 처리해 Spark SQL과 DataFrame 연산을 코드 변경 없이 가속하는 Spark 가속기입니다.

데이터·분석#spark#arrow#datafusion
1.3천+7 이번 주414ScalaApache-2.0업데이트 57분 전