IT 기술/DB

데이터베이스 튜닝 (Tuning)

gooooooood 2024. 10. 3. 14:27
반응형

Ⅰ. 데이터베이스 튜닝의 개념과 목적

가. 데이터베이스 튜닝의 개념

데이터 베이스 응용 프로그램, 데이터베이스, 운영체제를 조정해서 한정된 자원에서 최적의 성능을 이끌어내기 위한 작업

 

나. 데이터베이스 튜닝의 목적

목적 설명
처리 능력 향상 시간별 트랜잭션 처리량 증가
처리 시간 단축 작업완료 소요 시간 단축
응답 시간 단축 사용자 요청부터 시스템 응답까지 시간 단축
로드 시간 단축 데이터베이스 로드 시간 단축

 

Ⅱ. 데이터베이스 설계 단계 튜닝 기법

가. 데이터베이스 튜닝 단계

1단계
DB 설계 튜닝 (모델링 관점)

- 반정규화
- 분산 파일 배치
2단계
DBMS 튜닝 (환경 관점)

- Buffer 크기
- Cache 크기
3단계
SQL 튜닝 (APP 관점

- Hash
- Join

 

나. 설계 단계 튜닝 기법 상세 설명

구분 기법 설명
데이터베이스 - 실체뷰, 스냅샷
- 반정규화
- 분산 데이터베이스 원격 접근 성능저하 극복
테이블 - 정규화/반정규화
- 파티셔닝
- 대용량 단일 테이블 분할
- 파일 분산 배치
인덱스 - B트리, 비트맵, 해싱, 클러스터링 - 테이블 접근 유형에 따른 Full scan, Index scan
- 식별자 지정
- 키 설정
- 데이터 검색, 수정 및 조인 성능향상
데이터 타입 - 적절한 데이터 타입 선정 - 조인 데이터 타입 동일
- Where 비교 타입 일치

 

Ⅲ. 힌트(Hint)의 유형

구분 힌트 설명
최적화 접근 ALL_ROWS - 전체 리소스를 최소화하는 비용 기반 실행
FIRST_ROWS - 첫 번째 행을 가장 빨리 반환하는 접근 방법으로 실행
접근 방법 FULL - 지정 테이블에 대한 전체 스캔 실행
ROWID - 지정 테이블에 대해 rowid 이용 실행
HASH - 지정 테이블에 대해 해시 스캔 수행
INDEX - 지정 테이블에 대해 인덱스 이용 실행
조인 순서 ORDERED - FROM 절에 기술한 테이블 순서대로 실행
STAR - STAR QUERY 방식으로 실행, 최소 3개 이상 테이블
조인 방법 USE_MERGE - 각 테이블 정렬 후 순서대로 비교 SortMerge Join
USE_HASH - 기준 테이블 이용 다른 테이블 Hash Join
병행 수행 PARALLEL - 병렬 처리 활용하여 실행
부가 힌트 CACHE - 최근 이용 데이터 캐시 보관하여 디스크 I/O 감소

- 사용자가 힌트를 활용해 직접 최적의 실행 경로를 작성해 성능 향상

 

Ⅳ. 데이터베이스 성능 개선을 위한 전략

Server 튜닝

- 투자 비용 과다
- 비용 대비 효과 미비
Network 튜닝

- 투자 비용 필요
- 튜닝 한계 존재
System 튜닝

- 초기 설계 단계부터 검터
- HW, OS 종속적
- DBA 전문 지식 필요
SQL 튜닝

- 투비 대비 고효율
- DB 성능 극대화 가능
- 튜닝 전문 지식 요구

- 목표 성능과 가용 자산을 고려해 투자 대비 고효율의 튜닝 전략 수립 필요

반응형

'IT 기술 > DB' 카테고리의 다른 글

연결함정  (0) 2024.12.04
데이터 표준화  (1) 2024.12.03
ISO 8000 (Data Quality)  (0) 2024.10.03
데이터 거래소  (2) 2024.10.03
데이터 메시  (0) 2024.10.02