susinlee 님의 블로그

스냅샷 테이블 본문

일기/TIL

스냅샷 테이블

susinlee 2026. 1. 29. 11:48

Snapshot Table 

특정 시점의 데이터 상태를 그대로 복사하여 저장한 테이블. 

 

일반적인 운용용 데이터베이스는 데이터가 변경되면 이전 값은 사라지고 최신 값으로 덮어씌워짐.

하지만 분석을 하다 보면 어제 데이터는 어땠는지, 지난달 말 기준 재고가 얼마였는지 등의 질문에 답해야 할 때가 있는데 이때 스냅샷 테이블이 필요함

 

특징

  • 시점 고정: 특정 일시의 데이터를 보존함
  • 비휘발성: 원본 데이터가 수정되거나 삭제되어도 스냅샷 테이블의 데이터는 변하지 않음
  • 이력 관리: 시간이 흐름에 따라 여러 개의 스냅샷을 쌓으면 데이터의 변화 흐름을 추적할 수 있음

종류

  1. 주기적 스냅샷
    • 가장 일반적인 형태로 일별, 주별, 월별 등 정해진 주기마다 전체(또는 일부) 데이터를 복사함
    • 구현이 단순하고 특정 시점 조회가 매우 빠르지만 데이터가 커질수록 저장 공간을 많이 차지함
  2. 변경분 스냅샷
    • 마지막 스냅샷 이후 변경된 데이터만 기록하는 방식
    • 특정 시점을 복원하려면 여러 개의 델타 데이터를 합쳐야 하므로 계산이 복잡함

구조

보통 스냅샷 테이블에는 데이터를 추출한 시점을 나타내는 컬럼이 반드시 포함됨.

'일기 > 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