1 minute read

 

1장. 데이터 모델링의 이해

 

2장. 데이터 모델과 성능

성능 데이터 모델링 순서

정규화 → 용량산정 → 트렌젝션 파악 → 반정규화 → PK/FK등 조정 → 검증

1차, 2차, 3차 데이터 정규화

  • 1차 정규화 :
    1) 같은 성격과 내용의 컬럼이 연속적으로 나오는 경우
    2) 속성 하나에 2개 이상 속성값이 있는 경우
    → 해당 컬럼 제거 → PK를 추가한 새로운 테이블 생성

  • 2차 정규화 : 부분함수종속상태인 경우
    → 모든 컬럼이 완전 함수적 종속을 만족하도록 분리

  • 3차 정규화 : PK가 아닌 일반 열에 의존하는 열이 있는 경우
    → 기본키 외 컬럼이 다른 컬럼을 결정하면 안 됨!
    → 별도 테이블 생성

파티셔닝 != 분산 데이터베이스

  • 데이터베이스 분할 하는 것. 분할된 각 부분은 파티션
  • 파티셔닝의 특징 : 분산 데이터베이스 분할. 여러 노드에 파티션을 분산 배치

로우 체이닝, 로우 마이그레이션

  • 원인/현상 : 하나의 테이블에 대량의 데이터 or 많은 수의 칼럼 존재
    → 남는 공간이 없어서 새로운 데이터 블록에 저장
  • 로우 체이닝 : 저장 시 발생. 하나의 로우가 2개 이상에 걸침
  • 로우 마이그레이션 : 수정 시 발생, 다른 블록 빈 공간 찾음, 기존 자리엔 포인터 표시

인덱스

  • 엔터티간에 논리적 관계가 있는 경우 → 조인 자주 발생
    → 이럴 때 인덱스 있으면 조인 성능 향상에 도움됨

슈퍼-서브타입

  • 트랜젝션은 항상 전체를 통합하여 처리함
  • 슈퍼-서브타입을 하나 테이블로 통합 시 조인이 감소되어 성능이 우수함