RadarURL

데이터베이스
2023.04.27 16:43

데이터베이스 튜닝 (DB Tuning)

조회 수 341 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

데이터베이스 튜닝 (DB Tuning)

I. DB성능 최적화, 데이터베이스 튜닝 (DB Tuning) 개요

가. 데이터베이스 튜닝의 필요성

DB-성능-저하1.png

 

DB-성능-저하2.png

 

  • 일반적으로 시스템 성능 저하 문제는 잘못된 APP 및 DB 설계에 의해 발생하며, 데이터베이스 튜닝을 통해 성능 저하 최소화 가능 

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

  • 데이터베이스 응용, 데이터베이스 자체, 운영체제의 조정 등을 통하여 최적의 자원으로 최적의 성능(응답속도)을 얻을 수 있도록 개선하는 작업

 

II. 데이터베이스 튜닝의 3단계

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

튜닝 단계(영역) 튜닝 방안 튜닝 사례
1단계
DB 설계 튜닝
(모델링 관점)
  • 데이터베이스 설계 단계에서 성능 고려하여 설계
  • 데이터 모델링인덱스 설계
  • 데이터파일, 테이블 스페이스 설계
  • 데이터베이스 용량 산정
반정규화
분산파일배치
2단계
DBMS 튜닝
(환경 관점)
  • 성능을 고려하여 메모리나 블록 크기 지정
  • CPU, 메모리 I/O에 관한 관점
Buffer 크기
Cache 크기
3단계
SQL 튜닝
(APP 관점)
  • SQL 작성 시 성능 고려
  • JoinIndexing, SQL Execution Plan
Hash / Join

나. 데이터베이스 튜닝 영역 별 세부 기법

튜닝 영역 기법 기법 설명
DB 설계
튜닝 영역
테이블 분할 및 통합 파티션 기능, 테이블 수평/수직 분할
식별자 지정/Key 설정 본질/인조 식별자 정의, 클러스터링
효율적 인덱스 설정 인덱스 분포도 고려 10~15%(손익 분기점)
정규화/반정규화 테이블, 컬럼, 관계 정규화/반정규화
적절한 데이터 타입 선정 조인 시 연결되는 데이터 타입 일치
데이터 모델링 슈퍼/서브 타입, PK, 파티셔닝, 데이터 통합
DBMS
튜닝 영역
I/O 최소화 실제 필요한 데이터만 Read, Query off-loading
Buffer Pool 튜닝 지역성 관점 데이터 관리, Keep Buffer Cache
Commit/Check Point Check Point 수행주기 조절, Commit 주기 조정
Thread/Reuse Middleware 기능과 연동
SQL
튜닝 영역
Undo Segment 설정 Undo 영역 크기 조정
옵티마이저 RBO/CBO 이해, 통계정보 최신화
힌트 사용 지원되는 힌트 기반 실행계획 유도
부분범위 처리 일부만 Access, 옵티마이저 정보 제공
인덱스 활용 인덱스 기반 조회 속도 향상, Sort 연산 대체
조인 방식 / 순서 실행계획(Plan) 확인 후 조정
동적 SQL 지양 파싱(Parsing) 부하 감소위한 Static SQL 사용
다중 처리 한 번의 DBMS 호출로 여러 건 동시 처리
병렬 처리 하나의 SQL을 여러 개의 CPU가 분할 처리
SORT 튜닝 수행 인덱스 기반 MIN, MAX 구하기, TOP-N 쿼리
  • 튜닝의 순서인 DB 설계 → DBMS → SQL 튜닝 순으로 효율성이 줄어듦에 따라 우선 처리 필요
  • SW 처리가 불가능 하거나 효율적이지 않는 경우 HW 방식의 시스템 데이터베이스 튜닝 필요

 

III. 시스템 데이터베이스 튜닝 기법

튜닝 기법 기법 설명
CPU 튜닝 Peak Time 60% 이하 유지, CPU 증설, 과다 점유 검색 및 해결
메모리 튜닝 메모리 최적화, 버퍼 크기 조정
스토리지 튜닝 RAID 레벨 조정, SSD 도입, 스토리지 스티어링
I/O 튜닝 I/O 분산 위한 파일 재배치, RAID 활용
네트워크 튜닝 로드밸런싱, 대역폭 확대
  • HW 방식의 Scale-Up, Scale-Out을 통해 SW의 데이터베이스 튜닝의 한계 이상 튜닝 가능

[참고]

  • 한국데이터산업진흥원, “SQL 전문가 가이드”
  • 한국데이터산업진흥원, “DAP 전문가 가이드”

 

출처 : http://blog.skby.net/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%8A%9C%EB%8B%9D-db-tuning/

 

 

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927558
86 데이터베이스 [오라클] RAC(Real Application Cluster)이란? file JaeSoo 2023.05.01 94
» 데이터베이스 데이터베이스 튜닝 (DB Tuning) file JaeSoo 2023.04.27 341
84 데이터베이스 BCV (Business Continuance Volume) JaeSoo 2023.04.14 70
83 데이터베이스 MySQL Dump / Import (덤프 / 임포트) JaeSoo 2016.10.10 225
82 데이터베이스 mysql이 cpu를 많이 점유하고, DB와의 연결상태가 좋지 않을때 JaeSoo 2016.07.05 338
81 데이터베이스 [Oracle] Lock 확인 및 Lock 해제 JaeSoo 2016.03.28 640
80 데이터베이스 Mysql slow-query를 이용한 로그 분석 JaeSoo 2015.03.17 696
79 데이터베이스 Mysql 데몬 문제 해결 방안 (cpulimit) 2 JaeSoo 2015.03.17 909
78 데이터베이스 mysql 5.5.x my.cnf 참고 JaeSoo 2015.03.16 672
77 데이터베이스 Mysql Slow query log 등록 JaeSoo 2015.03.16 783
76 데이터베이스 MYSQL 성능 향상 정리 JaeSoo 2015.03.16 626
75 데이터베이스 MySQL Query Cache 사용법 JaeSoo 2015.03.16 706
74 데이터베이스 Mysql 에서 Got a packet bigger than 'max_allowed_packet' bytes 오류 JaeSoo 2014.12.25 924
73 데이터베이스 MySQL 내부 변수 max_allowed_packet JaeSoo 2014.12.25 584
72 데이터베이스 Mysql binary log 정리, 삭제 주기 설정 JaeSoo 2014.11.17 1156
71 데이터베이스 MySQL 로그 파일 관리 2 - 로그 파일 남기기 JaeSoo 2014.11.17 1237
70 데이터베이스 MySQL 로그 파일 관리 1 - 설정 JaeSoo 2014.11.17 1154
69 데이터베이스 MySQL Binary Log 지우는 방법 JaeSoo 2014.11.17 1221
68 데이터베이스 MySQL 설치/사용시 발생 에러 유형별 대처방법 JaeSoo 2014.11.17 6888
67 데이터베이스 Mysql 데이터 폴더의 mysql-bin.xxx 파일들 관련 삭제 및 초기화 방법 JaeSoo 2014.11.17 1112
Board Pagination Prev 1 2 3 4 5 Next
/ 5


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너