by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

정규형과 성능




1. 정규형과 성능

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

2. 조회 성능

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

3. 조회 성능과 화면 구성

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

4. 성능이슈 검토 단계

  • 성능이슈는 예상이 될 경우 물리모델링이 아닌, 논리모델링에서 선대응을 하여 대처하는 것이 좋음
  • 물리모델링으로 넘어가면, 일정 상 무리하게 진행될 수 있고 이로 인해 충분이 검토를 못할 수 있으며, 결국 SQL 튜닝으로밖에 대응을 못함
  • 그러므로, 가능한 빠른 단계에서 성능 문제를 해결하는 것이 비용 대비 가장 효율적

문서에 대하여

  • 최초작성자 : 강정식
  • 최초작성일 : 2014년 03월 29일
  • 이 문서는 구루비 오라클 데이터베이스 스터디 모임에서 작성하였습니다.
  • 이 문서의 내용은 Open Made에서 출간한 '관계형 데이터 모델링 프리미엄 가이드'를 참고하였습니다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.