Denormalization
반정규화는 정규화 실패가 아니라 근거 있는 예외다
먼저 정규화로 기준 구조를 만든 뒤, 측정된 조회 병목과 유지 비용을 비교해 제한적으로 중복을 허용합니다.
Integrity정규화는 이상 현상을 줄이는 기본값입니다.
Performance반정규화는 측정된 병목이 있을 때만 검토합니다.
Sync중복 데이터의 갱신 책임을 명시해야 합니다.
01
기준 구조
함수 종속성에 맞게 중복과 이상 현상을 먼저 제거합니다.
02
병목 측정
조인 비용, 조회 빈도, 응답 시간을 실제 수치로 확인합니다.
03
예외 설계
파생 컬럼, 집계 테이블, 캐시 중 필요한 범위만 선택합니다.
04
동기화 책임
트랜잭션, 배치, 검증 루틴으로 불일치가 남지 않게 합니다.
주문 합계
주문 상세 합산이 자주 필요하면 total_amount를 저장할 수
있습니다.
상세 변경과 합계 변경을 같은 트랜잭션으로 묶습니다.
댓글 수
목록에서 comment_count를 매번 계산하지 않도록 보관합니다.
댓글 생성, 삭제 시 카운터 검증 루틴을 둡니다.
집계 테이블
일별 통계처럼 읽기 비용이 큰 결과를 별도 테이블에 둡니다.
갱신 지연과 재계산 기준을 문서화합니다.
허용 조건
정규화 구조가 먼저 있고 성능 병목이 측정되어야 합니다.
금지 조건
단순 편의나 조인 회피만으로 중복을 늘리면 이상 현상이
돌아옵니다.
검증 조건
원본과 파생값을 비교하는 점검 쿼리가 있어야 합니다.