중복을 최소화하도록 설계된 DB
읽는 시간을 최적화하도록 설계된 DB
빠른 데이터 조회
살펴볼 테이블이 줄어들기 때문에, 데이터 조회 쿼리가 간단해짐
데이터 갱신 or 삽입 비용이 높음
데이터 갱신 - 삽입 코드를 작성하기 어려워짐
데이터 간의 일관성이 깨어질 수 있음
(어느 쪽이 올바른 값인가?)
데이터를 중복하여 저장하므로, 저장 공간 多 필요
자주 사용되는 테이블에 액세스하는 프로세스의 수가 가장 많고, 항상 일정한 범위만을 조회하는 경우
테이블에 대량 데이터가 있고 대량의 범위를 자주 처리하는 경우, 성능상 이슈가 있을 경우
테이블에 지나치게 JOIN을 많이 사용하게 되어, 데이터를 조회하는 것이 기술적으로 어려울 경우
대부분의 대규모 IT 업체의 경우처럼,
규모 확장성(scalability)을 요구하는 시스템의 경우, 거의 항상 정규화된 DB와 비정규화된 DB를 섞어 사용한다.