Shadow Table Atomic Swap (무중단 데이터 교체)
Shadow Table Atomic Swap
한 줄 정의
Shadow 테이블에 신규 데이터를 적재한 뒤 Atomic 이름 교체로 운영 테이블을 무중단 교체.
프로세스
1. Shadow 테이블에 신규 데이터 전체 적재
2. 검증 (건수, 품질 확인)
3. Atomic Swap:
BEGIN;
ALTER TABLE documents RENAME TO documents_old;
ALTER TABLE documents_shadow RENAME TO documents;
ALTER TABLE documents_old RENAME TO documents_shadow;
COMMIT;
4. 다음 주기에 documents_shadow (= 구 운영)가 재사용됨
핵심 장점
- 검색 서비스 중단 없이 전체 데이터 교체 가능
- 검증 실패 시 swap 취소 → 롤백 자동 보장
- 운영 테이블은 항상 완성된 데이터 상태 유지
적용 맥락
배치로 전체 데이터를 교체해야 하는 경우. 특히 임베딩 재생성, 스키마 변경, 대량 업데이트. 인덱스도 Shadow 테이블에 미리 생성 후 swap하면 인덱스 빌드 시간도 무중단 처리 가능.