TECH 으로 돌아가기
TECH HACKER NEWS 6일 전 2분 읽기 51 READS

TimescaleDB는 어떻게 시계열 데이터를 90% 넘게 압축할까

시계열 데이터는 끊임없이 쌓이기 때문에 저장 비용이 골칫거리입니다. TimescaleDB의 Hypercore 엔진은 행(row) 기반 저장과 컬럼 기반 저장을 결합해 이 문제를 풉니다. 핵심은 최근 데이터는 빠른 입력·수정을 위해 행 형태로 두고, 오래된 데이터는 약 1000개 행을 하나의 압축 배치로 묶어 컬럼 형태로 전환하는 방식입니다. 같은 컬럼의 값끼리 모으면 데이터 특성에 맞는 압축이 가능해집니다. 타임스탬프처럼 일정 간격으로 증가하는 값엔 delta-of-delta, 센서 측정치 같은 실수엔 Gorilla, 반복이 많은 값엔 사전·런렝스 인코딩을 적용해 흔히 90% 이상, 많게는 95%까지 용량을 줄입니다. 게다가 컬럼 저장은 집계 쿼리에서 필요한 컬럼만 읽으면 되므로 디스크 I/O가 줄어 조회 속도까지 빨라집니다. 압축이 단순한 비용 절감을 넘어 성능 개선으로 이어진다는 점이 인상적입니다. 대량 로그·메트릭·IoT 데이터를 다루는 한국 개발자라면 인덱스 설계와 함께 압축 정책(chunk 단위)을 고민할 가치가 충분합니다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://roszigit.com/en/blog/timescaledb-compression-hyperco...
SHARE
처리 중...