큰일이다 분명 여유를 두고 준비하려고 했으나 어느덧 시험 2주전이다.
성능데이터모델링이란?
설계단계의 데이터 모델링 때무터 성능과 관려노딘 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다.
-정규화
중복을 최소화 하도록 설계된 DB
-반정규화(비정규화)
읽는 시간을 최적화 하도록 설계된 DB
-트랜젝션
DB 상태를 변환 시키기 위해 수행하는 작업단위
ex)sql 질의어를 통해 DB에 접근
-칼럼
관계형 DB테이블에서 특정한 단순 자료형의 일련의 데이터 값과 테이블에서의 각 열을 의미
-파티셔닝
논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 데이터 액세스 성능도 향상시키고, 데이터 관리방법도 개 선할 수 있도록 테이블에 적용하는 기법
함수종속이란?
(many to one)
함수와 같이 어떠한 값을 통해 종속관계에 있는 다른 값을 유일하게 결정할 수 있다.
ex) <나이>,<생일> 두 개의 필드가 있을때 <생일>이 필드만 알면 <나이>를 참조하지 않아도 알 수 있다.
PK(Primary Key)
기본 키, 주 식별자키
해당 테이블에서 가장 기본적인 키, 테이블의 모든 데이터를 식별하는 컬럼
FK(Forign Key)
외래키, 외부식별자키
두 테이블간의 종속이 필요한 관계이면 그 접점이 되는 컬럼을 FK로 지정하여 서로 참조할 수 있도록 관계를 맺어줌
정규화
1차 정규화
같은 성격의 내용의 컬럼이 연속적으로 나타내는 컬럼(중복컬럼)이 존재할 때 해당 컬럼을 제거 후 PK를 추가해 새로운 테이블을 생성하고 기존 테이블과 1:M 관계 형성
2차 정규화
복합기 전체에 의존하지 않고 복합키의 일부분에만 종속되는 속성들이 존재할 경우 이를 분리하는 것
3차 정규화
PK에 의존하지 않고 일반 컬럼이 의존하는 컬럼들을 분리
반정규화
단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
데이터를 조회할 때 디스크 I/O량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행.
트랜젝션
항상 전체를 통합하여 분석 처리하는데 슈퍼-서브 타입이 하나의 테이블로 통합되어있으면 하나의 테이블에 집적된 데이터만 읽어 처리할 수 있기 때문에 다른 형식에 비해 성능이 우수하다
기타
조회되는 칼럼이 가장 앞으로 나오고 범위 조회하는 유형의 칼럼이 그 다음에 오도록 하는것이 인덱스 액세스 범위를 좁힐 수 있는 가장 좋은 방법
'=' 로 들어온 조건에 해당하는 칼럼이 인덱스의 가장 앞쪽에 위치할 때 인덱스의 이용 효율성이 가장 높다
'프로그래밍 > SQLD' 카테고리의 다른 글
6. 2과목 제 2장 SQL 활용 (1) - alias (1) | 2022.08.27 |
---|---|
5. 2과목 제 1장 SQL 기본 (3) 43~64 (0) | 2022.08.23 |
4. 2과목 제 1장 SQL 기본 (2) 20~42 (0) | 2022.08.23 |
3. 2과목 제 1장 SQL 기본 (1), 알아야 할게 너무 많다ㅠ (1) | 2022.08.22 |
1. 1과목 제 1장 데이터 모델링의 이해 - 자격증 도전기 (0) | 2022.07.25 |