
반정규화(DeNormalization)는 데이터베이스 설계에서 정규화된 데이터 구조를 일부 의도적으로 변경하여 성능 향상을 목적으로 하는 과정이다. 반정규화는 일반적으로 데이터베이스의 읽기 속도를 향상시키거나 복잡한 조인 연산을 줄이는 데 사용된다.
정규화는 데이터를 여러 테이블로 분해하여 중복을 최소화하고 데이터 일관성을 유지하는 데 주로 사용된다. 하지만 정규화된 데이터 구조를 사용하면서 발생하는 조인 연산과 같은 부하가 큰 작업들은 성능에 영향을 줄 수 있다. 이러한 경우 반정규화를 통해 데이터의 중복을 허용하고 일부 데이터를 한 테이블에 통합함으로써 성능을 향상시킬 수 있다.
테이블 통합 (Table Consolidation): 관련된 데이터를 여러 테이블로 분리된 대신 한 테이블에 통합한다. 이를 통해 조인 연산을 줄일 수 있다. 하지만 중복 데이터가 증가하므로 데이터 일관성을 유지하기 위해 추가적인 관리가 필요하다.
열 추가 (Column Addition): 자주 사용되는 데이터를 한 테이블에 중복하여 추가한다. 이를 통해 관련 데이터에 대한 별도의 조회나 조인 없이 데이터를 즉시 검색할 수 있다. 그러나 데이터의 중복성과 일관성을 유지하기 위해 업데이트 시에 추가적인 관리가 필요하다.
인덱스 추가 (Index Addition): 자주 사용되는 조회 작업을 빠르게 처리하기 위해 인덱스를 추가한다. 인덱스는 데이터의 정렬 및 검색을 용이하게 하여 조회 성능을 향상시킨다.