IT용어위키



데이터베이스 반정규화


Denormalization
데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위

주요 기법

  • 테이블 합병: 논리적으로 구분된 엔티티들을 하나의 테이블로 합친다.
    • 논리적 모델 상으론 구분되어야 하지만, Join 없이 하나의 테이블로 관리하는 것이 성능 측면에서 유리할 수 있다.
  • 중복 칼럼 추가: 게시판 테이블에 회원 정보를 일부 저장한다.
    • 회원 정보 테이블과 Join 하여 불러올 수 있지만, 일부 중복 데이터만으로 Join 없이 처리한다면 더 유리할 수 있다.
  • 계산된 칼럼 추가: 평균치, 계량값을 특정 필드에 추가한다.
    • 바로바로 계산할 수 있는 값이지만, 자주 참조되는 값이라면 DB에 저장해두는 것이 유리할 수 있다.
  • 코드 명칭 칼럼 추가: 남자 여자를 F, M이 아니라 그냥 남자, 여자로 저장한다.
    • 출력 시 '남자' '여자'로 보여줘야 하는 경우 연산을 줄일 수 있다.

고려 사항

  • 반드시 정규화 수행 후 반정규화 수행
  • 튜닝 등 다른 개선 후 최후의 수단으로 수행

같이 보기


  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!