- 옵티마이저
SQL 처리흐름
- 구문분석/실행/인출
- 규칙기반/비용기반 옵티마이저
- 분산데이터베이스
- 투명성의 종류 위치/분할/지역사상/중복/병행/장
- CAP개념
- ACID성질 원자성/일관성/독립성/영속성
- 부분완료상태
물리데이터모델의 옵티마이저의 SQL처리흐름? 구문분석 > 실행 > 인출(SELECT)
- 옵티마이저의 개념
- 사용자가 질의한 SQL문에 대해 최적의 실행방법을 결정 하는 역할 수행
-
- 규칙기반 옵티마이저: 우선순위(규칙)를 부여
- 비용기반 옵티마이저: 비용이 가장적은 계획을 선택, 이전의 정보를 활용
- 분산데이터베이스의 투명성의 종류
- 위치투명성(Location)
- 분할투명성(Division)
- 지역사상 투명성(Local)
- 중복투명성(Replicaiton)
- 병행투명성(Concurrency)
- 장애투명성(Failure)
- CAP 개념? 어떤 분산 환경에서도 일관성(Consistency), 가용성(Availability), 분단허용성(Partition Tolerance) 세가지 속성 중 두가지만 가질 수 있다.
- 트랜잭션의 ACID성질이란?
- 원자성(Atomicity): 모두반영되거나 모두반영되지 말아야한다.
- 일관성(Consistency): 수행 전 후 상태가 데이터 베이스의 같아야 한다.
- 독립성, 격리성(Isolation): 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어들 수 없다.
- 영속성(Duralility): 트랜잭션이 성공하면, 시스템이 고장나더라도 영구적으로 반영되어야한다.
- 트랜잭션의 부분완료 상태란? 마지막연산 완료 후, commit 실행 직전의 상태