SQLD/데이터 모델링의 이해
정리 2
hyerimir
2023. 3. 12. 21:02
성능 데이터 모델링
데이터베이스의 성능을 향상시키기 위해 설계 단계부터 성능과 관련된 사항들이 모델링에 반영될 수 있다. 성능 데이터 모델링의 방법으로는 정규화, 반정규화, 테이블 통합, 테이블 분할 등이 있다
성능 데이터 모델링 순서
1) 데이터 모델에 맞게 정규화를 수행
2) 데이터베이스의 용량 및 트랜잭션 유형을 파악하여 성능 저하를 일으키는 부분이 없는지 검토
3) 용량과 트랜잭션 유형에 맞게 반정규화 수행
4) 성능 향상을 위한 이력 모델의 조정, PK/FK 조정, 슈퍼/서브타입 조정 등을 수행
5) 데이터 모델의 성능 검증
트랜잭션
; 데이터를 조작하기 위한 논리적인 직업 단위로, 데이터 모델로 표현할 수 있으며 데이터는 트랜잭션 범위로 묶일 수 있음
하나의 커밋 단위로 묶여야 한다
3차 정규화는 이행 함수 종속성을 제거한다
이력 테이블 컬럼 추가는 대량의 이력 테이블을 조회할 때 속도가 느려질 것을 대비하여 조회 기준이 될 것으로 판단되는 컬럼을 미리 추가해 놓는 방식
공통 속성을 조회하는 빈도수가 개별 속성을 조회하는 빈도수보다 높으면 공통 속성과 개별 속성을 별도로 관리하는 슈퍼-서브 타입의 설계가 적절하다
중복관계추가는 반정규화의 기법 중 하나로 데이터 무결성을 깨뜨릴 위험성 없이 데이터 처리 성능을 향상시킬 수 있는 기법