반정규화의 대가는 따로 흩어진 문제가 아니라, 같은 사실을 여러 곳에 저장한 뒤 그 일관성을 계속 맞춰야 해서 생기는 두 갈래 비용입니다.
세 가지 이상은 모두 “같은 사실을 여러 곳이 함께 책임진다”는 구조에서 시작됩니다.
한쪽만 수정되면 중복 데이터가 서로 다른 값을 가지며, 조회 결과마다 다른 사실을 보여줄 수 있습니다.
아직 없는 보조 정보까지 함께 넣어야 해서, 필요 없는 값이나 임시값이 같이 저장되기 쉽습니다.
중복 행 하나를 지우는 순간 연관 정보까지 함께 사라져, 의도하지 않은 정보 손실이 생길 수 있습니다.
반정규화는 스키마 한 번의 선택이 아니라 이후 운영 절차까지 바꾸는 결정입니다.
중복된 컬럼과 인덱스가 늘어 같은 정보만큼 디스크를 더 사용합니다.
동기화 로직, 예외 처리, 검증 코드가 추가되어 일관성 책임이 애플리케이션으로 이동합니다.