230102(월)

김민석·2023년 1월 2일
0

Today I Learned

목록 보기
21/30

오전

게시판

질의) 학번, 학생명, 평점 조회시
전 (정규화) : 하나의 테이블 조회
후 (정규화) : 조인 (약간 성능 저하)

정규화 성능

반정규화(역정규화)
->> 정규화가 된 상황에서 성능향상(...조회) >> 중복, 통합 분리 데이터 모델 기법 사용
-* 비정규화 (정규화 하지 않은 것)
->> 과도한 반정규화 >> 데이터 무결성 침해(해결방법 : 트리거, 계산된 컬럼)

반정규화 절차

  1. 대상 조사
  2. 반정규화 다른 방법 검토(View, 파티셔닝, 클러스트링(디스크에 다른 블럭), 인덱스(추가, 삭제, 순서>>리빌딩), APP 개발 로직)
  3. 반정규화
    3.1 테이블 반정규화
    3.2 속성 반정규화
    3.3 관계 반정규화

컬럼에 의한 반정규화 방법?

  1. 중복컬럼 추가
  2. 파생컬럼 추가
  3. 이력 테이블 컬럼 추가 ...재미...
  4. PK 분리 컬럼 추가
  5. 데이터 복구를 위한 컬럼 추가 ...이슈

예시1

컬럼... 반정규화
1. 중복 컬럼 추가
2. 파생 컬럼 추가
3. 이력 테이블 컬럼 추가...재미...
4. PK 분리 컬럼 추가
5. 데이터 복구를 위한 컬럼 추가 ...이슈

반정규화 전

업무를 하다보니 사원 정보를 조회시 지점명도 항상 같이 조회 >> 조인
매번 이런식의 조회가 이루어진다면... 성능 가져오고

단일 테이블 조회 성능 ... 무결성.. 변경이상.. 최소화
타당한 명분아래서 역정규화가 이루어진다면 맞는 방법

반정규화 후


예시2

무결성을 깔끔하게 해결할 순 없지만, 트리거, 계산된 컬럼을 사용해서 방어막정도는 가능하다.



회사차량과 회원정보를 저장할때 한명이 여러개의 차를 가질 수 있고 마지막 등록한 차량만 가능하다면
최근등록여부컬럼을 추가해서 단순화하자. 물론, 무결성을 유지하기위해 조치를...

기법

  • 컬럼 ...반정규화
  1. 중복 컬럼 추가
  2. 파생 컬럼 추가 ^^
  3. 이력 테이블 컬럼 추가 ...재미... ^^ (최근값 여부 , 종류여부 )
  4. PK 분리 컬럼 추가 (지역 + 일련번호)
  5. 데이터 복구를 위한 컬럼 추가 ...이슈

오후

profile
뉴비개발자

0개의 댓글