본문 바로가기

CS/데이터베이스

DB 역정규화

1. 역정규화란?

정규화를 하면 JOIN 연산 시 시간이 많이 걸릴 수 있다. 이러한 과부하를 방지하기 위해

정규화를 통해 분리되었던 릴레이션의 중복을 허용하고 다시 통합하거나 분할하여 구조를 재조정하는 과정이다.

2. 역정규화 종류

① 릴레이션 역정규화

  • 릴레이션 병합: 두 릴레이션 간의 잦은 참조로 성능이 저하될 경우 이를 해결하기 위해 두 릴레이션을 병합한다.
  • 릴레이션 분할: 자주 사용하지 않는 속성이나 튜플이 릴레이션에 있을 경우 검색 성능이 저하된다. 이 때에는 자주 사용하는 속성이나 튜플을 분해하여 성능을 향상시킨다. 수직/수평 분할이 있다.

② 속성 역정규화

  • 릴레이션의 성능을 향상시키기 위해 속성 또는 파생속성을 추가한다.
  • 파생 속성: 현재 릴레이션에는 없는 속성이지만 작업의 효율을 위해 한 속성으로부터의 계산이나 가공에 의해 파생되는 속성

'CS > 데이터베이스' 카테고리의 다른 글

CAP이론  (0) 2021.09.30
JOIN  (0) 2021.09.30
DB 정규화  (0) 2021.09.29
이상(Anomaly)  (0) 2021.09.29
SQL vs NoSQL  (0) 2021.09.29