피드로 돌아가기
How TimescaleDB compresses time-series data
Hacker NewsHacker News
Database

Hypercore 엔진 기반 최대 98% 압축을 달성한 시계열 데이터 최적화 전략

How TimescaleDB compresses time-series data

2026년 6월 15일13advanced

Context

PostgreSQL의 TOAST 방식은 개별 큰 값의 압축에 특화되어 시계열 데이터의 행 간 패턴 최적화에 한계 노출. 일반 OLTP 데이터베이스의 알고리즘으로는 시간 기반으로 반복되는 시계열 데이터의 높은 중복성을 효율적으로 처리하기 어려운 구조적 제약 존재.

Technical Solution

  • Row-Columnar Hybrid 구조 도입을 통한 최신 데이터의 빠른 INSERT 성능 유지 및 과거 데이터의 Columnar 전환 자동화
  • 1,000개 행 단위의 Batch 그룹화를 통한 컬럼 기반 배열 저장 구조로 I/O 효율 극대화
  • Delta Encoding 및 Delta-of-Delta 기법을 적용하여 수치 데이터의 변화량과 간격의 규칙성을 통한 저장 공간 최소화
  • Gorilla XOR 및 Run-Length Encoding을 활용한 부동 소수점 및 반복 값의 고효율 압축 처리
  • Segmentby 레이아웃 설계를 통해 특정 ID와 시간 범위 쿼리 시 B-tree 인덱스 없이 즉각적인 세그먼트 접근 구현
  • Vectorized Execution 방식을 통한 행 단위 스캔 탈피 및 1,000행 단위 배치 처리로 분석 쿼리 성능 가속화

- 시계열 데이터 저장 시 쓰기 성능(Row-store)과 읽기 성능(Column-store)의 Trade-off를 고려한 계층형 저장 전략 검토 - 데이터 중복성이 높은 IoT 워크로드에서 단순 LZ 계열 압축 대신 Delta 및 XOR 기반 인코딩 적용 가능 여부 확인 - Chunk당 ID별 행 수가 100~10,000개 범위에 있는지 확인하여 Segmentby 최적화 적용 판단

원문 읽기