본문 바로가기
Learning/DB SQL 가이드

DB 모델링 - 3. 정규화 : 3.6 정규형과 성능

by Pronician 2015. 10. 25.
반응형

3.6 정규형과 성능

 

정규형과 성능

   ▶ 정규형을 꺼리는 가장 커다란 이유는 성능이 떨어진다고 생각하기 때문

   ▶ 하지만, 정규형을 하면 성능이 나빠진다는 것은 널리 알려진 잘못된 상식

   ▶ 정규형은 성능을 빠르게 하고 개발을 편하게 해준다고 생각하는 것이 점차 늘어나고 있음

 

조회 성능

   ▶ 정규형을 꺼리는 성능 문제는 대부분 조회 성능을 의미함

   ▶ 조회 성능을 올리려면 잘 정규화된 모델링에 인덱스를 적절히 사용해야 하며, 때에 따라 성능이 나오지 않을 경우 비정규화를 선택할 수 있음

   ▶ 오라클은 데이터를 블록 단위로 액세스하는데, 정규화가 잘 되었을 경우 적은 블록으로 많은 데이터를 가져올 수 있으므로 Hit Ratio를 끌어올릴

       수 있고, 이로 인해 성능이 향상됨

 

조회 성능과 화면 구성

   ▶ 화면 구성 또한 조회 성능을 올리는데 중요한 고려 요소

   ▶ 하나의 엔터리를 통해 화면 데이터를 한 줄에 횡으로 전부 보여줘야 하는 화면과 종으로 떨어뜨려 보여주는 화면 구성이 7:3 또는 6:4 일 경우

       아래와 같이 비정규화를 고려할 수 있음

 

 

   ▶ 그러나, 종 형식의 화면이 9개이고 횡 형식이 하나라면, 비정규형은 고려할 수 없는 것처럼, 조회 화면은 정규형과 비정규형을 결정짓는 중요한

       요소

 

성능이슈 검토 단계

   ▶ 성능이슈는 예상이 될 경우 물리모델링이 아닌, 논리모델링에서 선대응을 하여 대처하는 것이 좋음

   ▶ 물리모델링으로 넘어가면, 일정 상 무리하게 진핼될 수 있고 이로 인해 충분히 검토를 못할 수 있으며, 결국 SQL 튜닝으로밖에 대응을 못함

   ▶ 그러므로, 가능한 빠른 단계에서 성능 문제를 해결하는 것이 비용 대비 가장 효율적

 

 [관련 keyword]

   ▶ 정규화의 기본 개념과 목적에 대해 이해하고 있다.

   ▶ 정규화를 하지 않았을 경우의 이상현상을 이해하고 해결 가능하다.

       단, 이상현상을 해결하기 위한 내용이 1, 2, 3 정규화 중 어떤 것인지 구분할 필요는 없다.

반응형

댓글