반응형
2과목. 데이터베이스 구축
📒 08. 물리 데이터 모델 품질 검토
1. CRUD 분석
(1) CRUD의 개념
- 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 표현한 말
- 프로세스와 DB에 저장되는 데이터 사이의 의존관계를 표현하는 표
- 시스템을 구축하기 위해 해당 업무에 어떤 데이터가 존재하는지 무엇이 영향을 받는지 분석
- 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션 분석
2. SQL 처리 흐름
(1) 구문분석(Parsing)
- 사용자가 제출한 SQL문이 데이터베이스에서 이미 사용된 적이 있는지 확인
- 이미 처리된 적이 있다면, 구문 분석 단계를 건너뛰고 캐시 된 실행 계획 재사용
- SQL문법의 정확성, SQL문 내의 테이블과 뷰가 실제로 데이터베이스에 존재하는지 확인
(2) 실행(Execution)
- SQL문에서 참조된 데이터가 있는지 검사
- 데이터 버퍼 캐시는 자주 접근하는 데이터를 메모리에 저장하여 빠른 접근을 가능하게 함
(3) 추출(Fetch)
- 실행 단계가 완료되면, 관련 데이터를 읽어 사용자에게 전달
- SELECT문을 실행하는 경우에만 추출 단계 실행
3. 옵티마이저
(1) 옵티마이저의 개념
- SQL문에 대한 최적의 실행 방법 결정
(2) 옵티마이저의 구분
- a) 규칙기반 옵티마이저(Rule Based Optimizer)
- 규칙(우선순위)을 가지고 실행 계획을 생성
- 인덱스 유무, 연산자, 객체 등을 참조하여 우선순위 부여 - b) 비용기반 옵티마이저(Cost Based Optimizer)
- SQL문을 처리하는 데 필요한 비용이 가장 적은 실행계획을 선택하는 방식
- 다양한 객체 통계 정보와 시스템 통계 정보 활용
4. SQL 성능 튜닝
(1) 튜닝의 개념
- SQL문을 최적화하여 시스템의 처리량과 응답 속도를 개선하는 작업
- 쿼리의 성능을 끌어올리는 작업
(2) 튜닝 영역
- a) 데이터베이스 설계 튜닝
- 성능을 고려해 데이터베이스 설계 단계에서부터 최적화 - b) 데이터베이스 환경
- H/W 설정을 통해 성능 향상 - c) SQL 문장 튜닝
- SQL 문장 자체를 최적화하여 성능 개선
(3) Row Migration
- 데이터가 수정되면서 데이터가 더 커져서 기존 블록(Block)에 못 들어가는 경우
- 다른 블록에 데이터를 넣고, 기존 블록 위치에는 링크를 남김
(4) Row Chaining
- 컬럼이 너무 길어서 DB BLOCK 사이즈보다 길어진 경우, 블록 두 개에 이어서 한 Row에 저장
참고자료
흥달쌤, '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
1억뷰 N잡
[1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스
www.njobler.net
반응형
댓글