susinlee 님의 블로그
스냅샷 테이블 본문
Snapshot Table
특정 시점의 데이터 상태를 그대로 복사하여 저장한 테이블.
일반적인 운용용 데이터베이스는 데이터가 변경되면 이전 값은 사라지고 최신 값으로 덮어씌워짐.
하지만 분석을 하다 보면 어제 데이터는 어땠는지, 지난달 말 기준 재고가 얼마였는지 등의 질문에 답해야 할 때가 있는데 이때 스냅샷 테이블이 필요함
특징
- 시점 고정: 특정 일시의 데이터를 보존함
- 비휘발성: 원본 데이터가 수정되거나 삭제되어도 스냅샷 테이블의 데이터는 변하지 않음
- 이력 관리: 시간이 흐름에 따라 여러 개의 스냅샷을 쌓으면 데이터의 변화 흐름을 추적할 수 있음
종류
- 주기적 스냅샷
- 가장 일반적인 형태로 일별, 주별, 월별 등 정해진 주기마다 전체(또는 일부) 데이터를 복사함
- 구현이 단순하고 특정 시점 조회가 매우 빠르지만 데이터가 커질수록 저장 공간을 많이 차지함
- 변경분 스냅샷
- 마지막 스냅샷 이후 변경된 데이터만 기록하는 방식
- 특정 시점을 복원하려면 여러 개의 델타 데이터를 합쳐야 하므로 계산이 복잡함
구조
보통 스냅샷 테이블에는 데이터를 추출한 시점을 나타내는 컬럼이 반드시 포함됨.
'일기 > TIL' 카테고리의 다른 글
| FileType과 MySQL (0) | 2026.02.10 |
|---|---|
| .gitkeep / exc_info=True (0) | 2026.01.29 |
| truthy / falsy 평가와 이중 부정(double negation) (0) | 2026.01.27 |
| 근황 (1) | 2025.11.28 |
| FastAPI / Uvicorn / Gunicorn (0) | 2025.11.28 |