-데이터베이스 개론 2판, SQL 자격검정 실전문제 학습 후 정리한 내용입니다-
데이터베이스 개론 2판
IT CookBook, 데이터베이스 개론(2판)
데이터베이스로 첫 항해를 떠나는 이들에게 지도와 돛이 되어주는 책입니다. 마인드맵으로 생소한 개념 간의 관계를 한눈에 보여주고, 친근한 예와 비유를 들어 명료하게 풀어내, 데이터베이스
www.hanbit.co.kr
SQL 자격검정 실전문제
SQL 자격검정 실전문제 - YES24
SQL 자격검정 실전문제는 국가공인 SQL 전문가 및 국가공인 SQL 개발자 자격시험 대비 수험서로 SQL 전문가 가이드에서 다루고 있는 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등
www.yes24.com
반정규화 절차
1. 반정규화 대상조사
- 범위처리빈도수 조사
- 대량의 범위처리 조사
- 통계성 프로세스 조사
- 테이블 조인 개수
2. 다른 방법유도 검토
- 뷰 테이블
- 클러스터링 적용
- 인덱스의 조정
- 응용애플리케이션
3. 반정규화 적용
- 테이블 반정규화
- 속성의 반정규화
- 관계의 반정규화
반정규화의 대상에 대해 다른 방법으로 처리
- 지나치게 많은 조인이 걸려 데이터를 조회하는 작업이 기술적으로 어려울 경우 뷰를 사용하면 이를 해결할 수도 있다.
- 대량의 데이터처리나 부분처리에 의해 성능이 저하되는 경우에 클러스터링(군집화)을 적용하거나 인덱스를 조정함으로써 성능을 향상시킬 수 있다.
- 대량의 데이터는 Primary Key의 성격에 따라 부분적인 테이블로 분리할 수 있다. 즉 파티셔닝 기법이 적용되어 성능저하를 방지할 수 있다.
- 응용 애플리케이션에서 로직을 구사하는 방법을 변경함으로써 성능을 향상시킬 수 있다.
칼럼수가 많은 테이블
- 트랜잭션이 접근하는 칼럼유형을 분석해서 자주 접근하는 칼럼들과 상대적으로 접근 빈도가 낮은 칼럼들을 구분하여 1:1로 테이블을 분리하면 디스크 I/O가 줄어들어 성능을 향상 시킬 수 있다.
파티셔닝: 데이터를 여러 부분으로 분할하는 것이다. 데이터베이스 분할은 중요한 튜닝기법으로 데이터가 너무 커져서 조회하는 시간이 길어질 때 또는 관리 용이성, 성능, 가용성 등의 향상을 이유로 행해지는 것이 일반적이다. 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리
슈퍼/서브 타입 데이터 모델의 변환기술
- 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성
- 슈퍼타입 + 서브타입 테이블로 구성
- 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성
UNION : 결과를 합칠 때 중복되는 행은 하나만 표시
UNION ALL : 결과를 합칠 때 중복제거를 하지 않고 모두 합침
논리데이터모델의 슈퍼타입과 서브타입 데이터모델을 물리적인 테이블 형식으로 변환
- 트랜잭션은 항상 전체를 대상으로 일관 처리하는데 테이블은 서브타입 별로 개별 유지하는 것으로 변환하면 UNION 연산에 의해 성능이 저하됨
- 트랜잭션은 항상 서브타입 개별로 처리하는데 테이블은 하나로 통합하여 변환하면 불필요하게 많은 양의 데이터가 집적되어 있어 성능이 저하될 수 있다.
- 트랜잭션은 항상 슈퍼+서브 타입을 함께 처리하는데 개별로 유지 하면 조인에 의해 성능이 저하될 수 있다.
‘=’로 들어온 조건에 해당하는 칼럼이 인덱스의 가장 앞쪽에 위치할 때 인덱스의 이용 효율성이 가장 높다고 할 수 있다.
엔터티 간에 논리적 관계가 있을 경우 이 데이터들이 상호간에 조인이 자주 발생한다는 것을 의미하는 것이기 때문에 데이터베이스 상에서 DBMS가 제공하는 FK 제약 생성 여부와 상관없이 조인 성능을 향상시키기 위한 인덱스를 생성해주는 것이 좋다.
Global Single Instance(GSI): 통합된 한 개의 인스턴스 즉, 통합 데이터베이스 구조를 의미
'자격증 > sqld' 카테고리의 다른 글
[데이터베이스] sqld SQL 기본3 (0) | 2021.06.30 |
---|---|
[데이터베이스] sqld SQL 기본2 (0) | 2021.06.28 |
[데이터베이스] sqld SQL 기본1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델링의 이해 (0) | 2021.06.21 |