📦 압축률 (Compression Ratio)
일반적으로 90~95% 감소 (원본 대비 5~10% 크기)가 대표적입니다.
사례 유형 원본 크기 압축 후 크기 압축률
금융 틱 데이터5 | 694 MB | 75 MB | 89% ↓ |
IoT 센서 데이터1 | 100 GB | ~5-10 GB | 90-95% ↓ |
시계열 로그 데이터7 | 1 TB | ~50-100 GB | 90-95% ↓ |
핵심 메커니즘:
- 컬럼 기반 압축(Array 형식 저장) + 중복 제거
- segmentby(그룹화 컬럼)와 orderby(정렬 컬럼) 설정에 따라 효율성 차이5
⚡ 조회 성능 향상
시간 기반 청크(Chunk) 사용 시 50~90% 쿼리 시간 단축이 일반적입니다. 주요 요인별 개선 효과:
1. 시간 필터 쿼리
SELECT * FROM sensor_data WHERE time >= NOW() - INTERVAL '3 days';
- 청크 미사용: 전체 데이터 스캔 → 100% 시간 소요
- 청크 사용: 3개 청크만 접근 → 70-90% 성능 향상
2. 병렬 처리 효율
- 청크 단위 병렬 쿼리 실행으로 CPU 활용도 향상
- 8코어 서버에서 4-6배 빠른 응답
3. 인덱스 효율성
- 청크별 로컬 인덱스 사용으로 검색 범위 축소
- 1억 건 데이터에서 0.1초 이내 응답 사례
💡 결론
- 저장 공간: 100GB 데이터 → 5-10GB로 압축
- 성능: 시간 범위 쿼리 → 초당 수십만 건 처리 가능
- 실제 환경에서는 데이터 특성과 쿼리 패턴에 따라 결과 차이 발생
참고: Timescale 공식 벤치마크에 따르면, 10TB 데이터에서 94% 압축률 + 83% 쿼리 성능 향상 사례가 보고됐습니다6.
청크 기반 조회 성능 향상
시간별 청크(chunk)는 다음과 같은 성능 향상을 제공합니다:
- 시간 범위 쿼리: 특정 기간 데이터 조회 시 약 2-10배 빠름
- 예: 지난 24시간 데이터 조회 시 일반 PostgreSQL보다 약 5배 빠름
- 집계 쿼리(AVG, SUM 등): 약 3-15배 성능 향상
- 예: 일주일 데이터의 시간별 평균값 계산 시 약 8배 빠름
- 최근 데이터 + 과거 데이터 혼합 쿼리: 약 2-5배 성능 향상
- 예: 최근 데이터와 1년 전 데이터 비교 시 약 3배 빠름
- 실제 TimescaleDB 벤치마크 결과
- 쿼리 평균 실행 시간(예: 12시간 구간 평균값 조회)
- 청크 미사용: 평균 2,528ms (약 2.5초)
- 청크 사용: 평균 430ms (약 0.4초)
- 이 경우 약 83% 단축 (2.5초 → 0.4초)
- 쿼리 평균 실행 시간(예: 12시간 구간 평균값 조회)
728x90
'코딩공부 > DB' 카테고리의 다른 글
PostgreSQL TimescaleDB의 청크와 압축 개념정리 (0) | 2025.04.18 |
---|---|
시계열 데이터베이스(TSDB)란? (0) | 2025.03.04 |
mysql 데이터베이스 기본 명령어 (0) | 2022.12.06 |
★현재까지 배운 DB관련 내용 총정리★ (0) | 2022.12.05 |