데이터베이스 반정규화: Difference between revisions

From IT Wiki
No edit summary
m (맞춤법 수정)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[분류:데이터베이스]]
[[분류:데이터베이스]]
;Denormalization
;Denormalization
;데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위
;데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위


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


== 고려 사항 ==
==같이 보기==
* 반드시 정규화 수행 후 반정규화 수행
* 튜닝 등 다른 개선 후 최후의 수단으로 수행


== 같이 보기 ==
*[[데이터베이스 정규화]]
* [[데이터베이스 정규화]]

Latest revision as of 13:24, 22 April 2022


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

주요 기법[edit | edit source]

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

고려 사항[edit | edit source]

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

같이 보기[edit | edit source]