Side Effects

반정규화는 읽기 성능 대신 이상 현상을 다시 가져온다

성능 이득만 보지 말고 갱신, 삽입, 삭제 시 어떤 불일치가 생기는지와 대응 절차를 함께 설계한다.

상황
예시
위험
대응
갱신 이상
사용자 이름이 여러 주문 행에 복사됨
일부 행만 바뀌면 값이 갈라짐
원본 기준 동기화
삽입 이상
요약 행이 없으면 신규 주문이 대시보드에서 빠짐
읽기 결과 누락
재계산 트리거
삭제 이상
원본 삭제 후 스냅샷 의미가 흐려짐
이력 보존 실패
보존 정책 명시
원본 정의source of truth를 하나로 둔다.
동기화트리거, 배치, 이벤트 중 하나를 선택한다.
검증차이 감지 쿼리와 로그를 남긴다.
복구재계산 가능한 경로를 준비한다.