[SQLD] 성능 데이터 모델링

yjkim97·2023년 8월 5일

자격증

목록 보기
7/24
post-thumbnail

성능 데이터 모델링 정의

성능 데이터 모델링이란 데이터베이스의 성능향상을 목적으로 설계 단계의 데이터 모델링때 부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다.

한마디로 데이터 모델링시 데이터베이스 성능 향상이 고려되게 설계하는 것

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

  • 분석/설계 단계부터
  • 일찍 시작할 수록 비용 절감

분석/설계 단계에서부터 성능 데이터 모델링은 하지 않으면 시간이 지날수록 성능개선의 비용이 증가하게 된다.

성능 데이터 모델링 방법

방법에는 정규화 반정규화 테이블 통합/분할 등이 있다.

⭐️ 수행 절차

  1. 데이터 모델링을 할 때 정규화를 정확하게 수행한다.

    • 데이터를 주요 관심사별로 분산시키는 효과가 있다.
  2. 데이터베이스 용량산정을 수행한다.

    • 데이터베이스 용량 산정시 어떤 Entity(테이블)에 데이터가 집중되는지 파악할 수 있다.
    • ⭐️ 용량산정은 전체적인 DB에 발생되는 트랜젝션의 유형과 양을 분석하는 자료가 된다.
  3. 데이터베이스에서 발생되는 트랜젝션 유형을 파악한다.

    • 트랜젝션 유형 파악시 SQL문장의 조인관계 테이블에서 데이터조회의 칼럼들을 파악할 수 있다.
  4. 용량과 트랜잭션의 유형에 따라 반정규화(역정규화)를 수행한다.

    • 테이블, 속성, 관계에 대해 포괄적인 반정규화의 방법을 적용해야 한다.
  5. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.

    • ⭐️ 반드시 PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정해야 한다.
  6. 성능관점에서 데이터 모델을 검증한다.

정규화 (Normalization)
데이터 정합성 보장을 위해 '데이터 모델 이상 현상'을 제거하는 기법

데이터 모델 이상 현상
삽입이상 : 입력시 발생
갱신이상 : 수정시 발생
삭제이상 : 삭제시 발생

반정규화 (De-Normalization) (=역정규화)
조회성능 향상을 위해 중복,통합,분리 등을 수행하는 기법


Reference
profile
어제는 🐸두꺼비 오늘은 😄YJ

0개의 댓글