1. DBMS Optimizer (옵티마이저)의 개요
1-1. 정의
- 사용자의 다양한 요구에 따라 SQL문의 문법적 오류를 확인하고 가장 빠른 데이터 엑세스 경로(Plan)을 생성하고 선택하여 최적의 경로를 찾아주는 역할을 하는 DBMS의 핵심 엔진
- 옵티마이저에 영향을 미치는 요소 : SQL 형태, 연산자 형태, 힌트사용, 분산DB, 인덱스/클러스터링, 통계정보, 옵티마이저 모드, DBMS 버전
1-2. 목표
- 전체 처리속도 최적화
- 최초 응답속도 최적화
2. DBMS Optimizer (옵티마이저)의 개념도 및 요소 설명, 종류
2-1. DBMS Optimizer (옵티마이저)의 개념도
2-2. DBMS Optimizer (옵티마이저)의 요소 설명
1) Parse : 구문, 보안, Object 등의 체크 및 Simple Transformation을 수행
2) Query Rewrite : 서브질의와 부의 병합을 수행하고, OR Expansion 작업을 수행
3) Query Optimization : 질의에 대한 엑세스 경로를 결정
4) QEP Generation : 질의실행계획 (질의를 실행하는데 필요한 상세 정보를 생성)
5) Query Execution : QEP에 따라 SQL 문장을 실행
2-3. DBMS Optimizer (옵티마이저)의 종류
1) RBO : 사전에 실행할 SQL문의 순서를 규칙으로 설정하여 그 규칙에 따라 SQL문의 실행 순서를 결정하는 옵티마이저
2) CBO: 실행 처리 방법들에 대한 비용을 산정하여 그중에 가장 적은 비용이 들어가는 처리방법들을 선택하는 옵티마이저
3. DBMS Optimizer (옵티마이저)의 발전방향
1) RBO의 한계 : 추출해야하는 쿼리나 데이터가 복잡해지면서 단순 정해진 규칙대로 수행에 한계가 발생되어 CBO를 많이 사용함
2) Self Learning Optimizer : 과거에는 단순히 오프젝트 및 시스템 통계로 부터 산정한 비용만으로 실행계획을 수립했으나 앞으로는 예상치와 수행결과를 비교하여 오류를 스스로 수정하여 최적화를 도출하는 옵치마이저로 발전 예상
'1. IT Story > Basic Studies' 카테고리의 다른 글
PPM(Project Portfolio Management) (0) | 2019.01.13 |
---|---|
클라우드컴퓨팅의 6대 핵심기술 (0) | 2019.01.13 |
SW 공학 (0) | 2019.01.12 |
암달의 법칙(병렬처리의 한계, 성능평가) (0) | 2019.01.11 |
OSI 7 Layer (Open System Interconnection) (1) | 2019.01.09 |
클라우드 컴퓨팅(Cloud Computing) (0) | 2019.01.08 |
압축기술 (데이터 전송효율을 높이기 위한) (0) | 2019.01.07 |
GRC(Governance, Risk & Compliance) (0) | 2019.01.07 |