Site icon DBA의 정석

ㄴ제2장 데이터 모델과 성능_제1절 성능 데이터 모델링 개요

  1. 성능 데이터 모델링의 정의
  1. 성능 데이터 모델링 수행시점

 
 

  1. 성능 데이터 모델링 고려사항
  2. 데이터 모델링을 할 때 정규화를 정확하게 수행한다 : 정규화된 모델이 데이터를 주요 관심사 별로 분산시키는 효과가 있기 때문에 그 자체로 성능을 향상시키는 효과가 있다.
  3. 데이터베이스 용량산정을 수행한다 : 각각의 엔티티(테이블)에 대한 용량산정을 수행하면 어떤 엔티티(테이블)에 데이터가 집중되는지 파악할 수 있다. 엔티티별로 데이터가 대용량인지를 구분하게 하기 때문에 테이블에 대한 성능고려를 엄격하게 적용해야 하는지 기준이 될 수 있다.
  4. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다 : 트랜잭션의 유형에 대한 파악은 CRUD 매트릭스, 시퀀스 다이어그램, 화면에서 처리된 이벤트(입력, 수정, 삭제, 조회)에 따라 테이블에 데이터가 어떻게 처리되는지를 유추할 수 있다. 유형을 파악하게 되면 SQL문장의 조인관계 테이블에서 데이터 조회의 칼럼들을 파악할 수 있게 되어 그에 따라 성능을 고려한 설계를 할 수 있다.
  5. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다 : 테이블, 속성, 관계에 대해 포괄적인 적용
  6. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다 : 대량 데이터가 처리되는 이력모델에 대해 성능고려를 하고 PK/FK의 순서가 인덱스 특성에 따라 성능에 영향을 미치는 영향도가 크기 때문에 반드시 PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정해야 한다.
  7. 성능 관점에서 데이터 모델을 검증한다 : 데이터 모델 검토 시에 일반적인 데이터 모델 규칙만을 검증하지 말고 충분하게 성능이 고려되었는지를 체크리스트에 포함하여 검증하도록 한다.

Exit mobile version