관계형 데이터 모델링 프리미엄 가이드 DB구축 (2014년)
정규형과 성능 0 0 38,551

by 구루비스터디 정규화 [2018.06.10]


1. 정규형과 성능

  • 정규형을 꺼리는 가장 커다란 이유는 성능이 떨어진다고 생각하기 때문
  • 하지만, 정규형을 하면 성능이 나빠진다는 것은 널리 알려진 잘못된 상식
  • 정규형은 성능을 빠르게 하고 개발을 편하게 해준다고 생각하는 것이 점차 늘어나고 있음


2. 조회 성능

  • 정규형을 꺼리는 성능 문제는 대부분 조회 성능을 의미함
  • 조회 성능을 올리려면 잘 정규화된 모델링에 인덱스를 적절히 사용해야 하며, 때에 따라 성능이 나오지 않을 경우 비정규화를 선택할 수 있음
  • 오라클은 데이터를 블록 단위로 액세스하는데, 정규화가 잘 되었을 경우 적은 블록으로 많은 데이터를 가져올 수 있으므로 Hit Ratio를 끌어올릴 수 있고, 이로인해 성능이 향상됨


3. 조회 성능과 화면 구성

  • 화면 구성 또한 조회 성능을 올리는데 중요한 고려 요소
  • 하나의 엔터티를 통해 화면 데이터를 한 줄에 횡으로 전부 보여줘야 하는 화면과 종으로 떨어뜨려 보여주는 화면 구성이 7:3 또는 6:4 일 경우 아래와 같이 비정규화를 고려할 수 있음
    |


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


4. 성능이슈 검토 단계

  • 성능이슈는 예상이 될 경우 물리모델링이 아닌, 논리모델링에서 선대응을 하여 대처하는 것이 좋음
  • 물리모델링으로 넘어가면, 일정 상 무리하게 진행될 수 있고 이로 인해 충분이 검토를 못할 수 있으며, 결국 SQL 튜닝으로밖에 대응을 못함
  • 그러므로, 가능한 빠른 단계에서 성능 문제를 해결하는 것이 비용 대비 가장 효율적
"구루비 데이터베이스 스터디모임" 에서 2014년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3598

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입