비교

반정규화의 대가는 따로 흩어진 문제가 아니라, 같은 사실을 여러 곳에 저장한 뒤 그 일관성을 계속 맞춰야 해서 생기는 두 갈래 비용입니다.

목적 조회 성능 확보 조인을 줄이고 읽기 경로를 단순화합니다.
공통 원인 같은 사실을 여러 행·테이블에 중복 저장 문제는 대부분 쓰기, 삽입, 삭제처럼 상태가 바뀌는 순간에 드러납니다.
결과 일관성 부담 + 운영 비용 증가 쓰기 로직과 관리 절차가 함께 무거워집니다.
쓰기 시점의 이상 중복된 값이 어긋나면 데이터 의미가 바로 깨집니다

세 가지 이상은 모두 “같은 사실을 여러 곳이 함께 책임진다”는 구조에서 시작됩니다.

갱신 이상
대응: 트리거 · 배치 · CDC

한쪽만 수정되면 중복 데이터가 서로 다른 값을 가지며, 조회 결과마다 다른 사실을 보여줄 수 있습니다.

삽입 이상
대응: NULL · 기본값

아직 없는 보조 정보까지 함께 넣어야 해서, 필요 없는 값이나 임시값이 같이 저장되기 쉽습니다.

삭제 이상
대응: 소프트 삭제 · 히스토리

중복 행 하나를 지우는 순간 연관 정보까지 함께 사라져, 의도하지 않은 정보 손실이 생길 수 있습니다.

운영 단계의 비용 성능 이득은 얻지만, 유지 비용이 계속 남습니다

반정규화는 스키마 한 번의 선택이 아니라 이후 운영 절차까지 바꾸는 결정입니다.

저장 공간 증가
대응: 디스크 vs 성능 분석

중복된 컬럼과 인덱스가 늘어 같은 정보만큼 디스크를 더 사용합니다.

애플리케이션 복잡도
대응: 문서화 · 테스트

동기화 로직, 예외 처리, 검증 코드가 추가되어 일관성 책임이 애플리케이션으로 이동합니다.