상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 물리데이터 모델 품질 검토

정보처리기사 공부지식

by 소란한소란 2024. 4. 23. 20:34

본문

728x90

데이터베이스 관리하기: 종합 가이드

데이터베이스 관리 영역에서는 효율적인 데이터 처리 및 성능을 보장하기 위해 기본 개념과 최적화 기술을 이해하는 것이 중요합니다. 이 가이드에서는 CRUD 작업, SQL 최적화 및 성능 튜닝의 핵심 측면을 자세히 살펴보고 데이터베이스 관리 기술을 익히는 데 도움이 되는 통찰력을 제공합니다.


CRUD

  • 개념
    • 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제) 를 묶어서 표현한 말이다.
    • 시스템 구축 시 프로세스와 DB에 저장되는 데이터 사이의 의존관계를 표현하는 표
업무 / 테이블 회원 상품 주문 재고
회원가입 C (생성)      
로그인 R(읽기) , U(갱신)      
상품보기   R(읽기) , U(갱신)    
상품주문   R(읽기) C (생성) U(갱신)
주문취소   R(읽기) D (삭제) U(갱신)

 

CRUD의 필요성

  • 모델링 작업검증
  • 중요 산출물
  • 테스트 시 사용
  • 인터페이스 현황 파악

옵티마이저

  • 개념
    • 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행

SQL 처리 흐름

SQL 처리 흐름

  • 구문분석 단계
    • 사용자가 요청한 SQL문이 데이터베이스에서 사용된 적이 있는지 공유 풀 영역을 검색하여 확인
  • 실행 단계
    • SQL문에서 사용된 데이터가 버퍼캐시 영역에 존재하는지 검색
  • 추출 단계
    • 실행단계가 끝나면 서버 프로세스는 데이터버퍼 캐시영역에서 관련 테이블 데이터를 읽어서 사용자가 요청한 클라이언트로 전송

옵티마이저의 구분

구분 설명
규칙기반 옵티마이저 (Rule Based Optimizer)  - 규칙 (우선순위)를 가지고 실행 계획을 생성
- 인덱스 유무, 연산자, 객체 등을 참조하여 우선순위를 부여
비용 기반 옵티마이저 (Cost Based Optimizer) - SQL문을 처리하는 데 필요한 비용이 가장 적은 실행계획을 선택하는 방식

 

SQL 성능 튜닝

  • 개념
    • SQL문을 최적화하여 빠른 시간 내에 원하는 결과값을얻기 위한 작업

튜닝의 접근 방법

접근 방법 설명
부하의 감소 - 동일한 부하를 보다 효율적인 방법으로 수행
부하의 조정 - 부하 정도에 따라 업무를 조정하는 방법
부하의 병렬 수행 - 부하가 많이 걸리는 부분을 병렬로 처리하는 방법

 

튜닝 영역

튜닝 영역 설명
데이터베이스 설계튜닝 - 데이터베이스 설계 단계에서 성능을 고려하여 설계
데이터베이스 환경 - 성능을 고려하여 메모리나 블록 크기 등을 지정
SQL 문장 튜닝 - 성능을 고려하여 SQL 문장을 작성

 

튜닝절차

  • 시스템 현황 분석
  • 문제점 탐지 및 원인 분석
  • 목표 설정
  • 튜닝 시행
  • 결과 분석

SQL 성능 최적화를 위한 유틸리티 (오라클 기준)

  • SQL Trace
  • TKPROF(Trace Kernel PROFile)
  • EXPLAIN PLAN

Row Migration / Row Chaining

  • Row Migration
    • 데이터가 수정되면서 데이터가 더 커져서 기존 블록(Block)에 못 들어가는 경우
  • Row Chaining
    • 컬럼이 너무 길어서 DB BLOCK 사이즈보다 길어진 경우 블록 두 개에 이어서 한 Row가 저장

데이터베이스 관리를 마스터하려면 CRUD 작업, SQL 최적화 및 성능 튜닝 기술에 대한 깊은 이해가 필요합니다. 이러한 개념을 이해하고 모범 사례를 구현함으로써 데이터베이스 시스템의 원활한 작동과 향상된 성능을 보장할 수 있습니다.

2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

 

728x90

관련글 더보기