OPEN between Secret

성능 데이터 모델의 개요 본문

DB/SQLD

성능 데이터 모델의 개요

해가꿈꾸는달 2016. 8. 11. 13:36
반응형

1. 성능 데이터 모델링의 정의

   - 설계 단계에서부터 성능을 고려하지 않고 설계를 하는것은
      지나갈수 없는 길을 지나가는 차에게 빨리 가라는것과 동일

   - 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터
      정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK, 등 여러가지 성능과 관련된 사항이
      데이터 모델링에 반영될 수 있도록 하는 것

   - 디자인이 잘못된 테이블 위에서 개발된 애플리케이션의 성능저하를 
     개발자가 sqld구문을 잘 못 만들었다고 문제삼기도 함.

   - 일반적으로 성능은 조회 성능을 말함.

-> 입력/수정/삭제는 일시적이고 비번하지 않고 단건 처리가 많은데

-> 조회는 반복적이고 빈번하며 여러 건을 처리하는 경우가 많음

   



2. 성능 데이터 모델링 수행시점


   - 프로젝트 수행 중 사전에 할수록 비용은 덜 든다.

   - 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우
     성능저하에 따른 재업무 비용을 최소화 할 수 있다.

   - 요즘까지도 초기 단계에 성능을 고려하지 않고 설계를 한 뒤,
      성능이 저하된 결과만을 대상으로 튜닝을 하는 곳이 많음. 

 



3. 성능 데이터 모델링 고려사항

 

   - 데이터 모델링을 할때 정규화를 정확하게 수행

   - 데이터베이스 용량산정을 수행

   - 데이터베이스에 발생되는 트랜잭션의 유형을 파악

   - 용량과 트랜잭션의 유형에 따라 반정규화를 수행

   - 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정

   - 성능관점에서 데이터 모델을 검증

 


* 성능이 저하되는 원인 3가지

1. 데이터 모델 구조에 의해 성능이 저하

2. 데이터가 대용량이 됨으로 인해 성능이 저하되는 경우

3. 인덱스 특성을 충분히 고려하지 않고 인덱스를 생섬함으로 인한 성능 저하.

반응형

'DB > SQLD' 카테고리의 다른 글

속성, 관계, 식별자  (0) 2015.06.02
엔터티  (0) 2015.06.02
데이터 모델의 이해  (0) 2015.06.02
SQL 활용(STANDARD JOIN)  (0) 2015.03.30
SQL 기본 및 활용(JOIN)  (0) 2015.03.30