프로그래밍/SQLD

2. 1 과목 제 2장 데이터 모델과 성능

량아이 2022. 8. 20. 16:42

큰일이다 분명 여유를 두고 준비하려고 했으나 어느덧 시험 2주전이다.

 

SQLD

성능데이터모델링이란?

설계단계의 데이터 모델링 때무터 성능과 관려노딘 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다.

 

-정규화

  중복을 최소화 하도록 설계된 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량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 반정규화를 수행.

 

트랜젝션

항상 전체를 통합하여 분석 처리하는데 슈퍼-서브 타입이 하나의 테이블로 통합되어있으면 하나의 테이블에 집적된 데이터만 읽어 처리할 수 있기 때문에 다른 형식에 비해 성능이 우수하다

 

 

기타

조회되는 칼럼이 가장 앞으로 나오고 범위 조회하는 유형의 칼럼이 그 다음에 오도록 하는것이 인덱스 액세스 범위를 좁힐 수 있는 가장 좋은 방법

'=' 로 들어온 조건에 해당하는 칼럼이 인덱스의 가장 앞쪽에 위치할 때 인덱스의 이용 효율성이 가장 높다