3. 자료처리/데이터모델링
데이터베이스 성능개선
SWExpert
2022. 10. 26. 18:35
I. 데이터베이스 성능개선
-. 파라미터, sql, 데이터 모델의 조정을 통하여 데이터베이스 성능을 향상시키는 성능 최적화 기술
-. 데이터 베이스의 조정을 통하여 최적의 성능을 얻을 수 있도록 개선하는 작업
II. DB의 성능개선을 위한 주요 항목
주요요소 | 설 명 | 사 례 |
설계관점 (모델링관점) |
- 데이터 모델링, 인덱스 설계 - 데이터파일, 테이블 스페이스 설계 - 데이터베이스 용량 산정 |
- 반정규화 - 분산파일 배치 |
DBMS관점 | - CPU, 메모리 I/O에 관한 관점 | - Buffer, Cache크기 |
SQL관점 | - join, Indexing, SQL Execution Plan | - Hash / Join |
H/W관점 | -CPU, Memory, Network, Disk | -System Resource개선 |
III. Database 성능개선의 진행 절차 및 수행 항목
가. Database 성능개선의 진행 절차
시스템 성능 진단 -> 튜닝 및 분석 -> 결과 평가
나. Database 성능개선의 수행 항목
절차 | 수행항목 | 설명 |
시스템 성능 진단 | - 사용자 인터뷰 - 설계 검토 - 시스템 구성 검토 - 자원사용현황분석 - SQL Trace분석 |
- 자료수집: AS-IS 도출을 위한 기초자료 수집 - 목표설정: 문제점 파악 및 대상에 대한 목표 구체화, 튜닝 방향 설정 |
튜닝 및 분석 | - 설계내용 튜닝 - DBMS튜닝 - SQL튜닝 - OS, H/W 튜닝 |
- 진단 결과 도출된 문제 요소에 대하여, 최적화 방안을 수립 및 적용 |
결과 평가 | - 튜닝 후 자료수집/분석 - 튜닝결과 평가 - 산출물 작성 |
- 1차 튜닝 방안 적용 후 2차 테스트 분석이나 결과 평가를 통한 최종안 적용 및 개선효과 보고자료 작성 |
IV. 데이터베이스 튜닝의 효과
- 최종 사용자들에 대한 고객 만족을 실현
- DBMS 시스템을 기반으로 한 Application의 품질 향상에 기여함
- 실무 경험을 통한 튜닝 방법과 관련한 지식 Database 구축으로 지식 공유 가능
- 응용 프로그램 응답속도 향상
- 잠재적인 시스템 장애 방지
- 유지보수 비용 절감
- 하드웨어 증설에 대한 투자비 절감
- 개발자 능력 향상
V. 데이터베이스 튜닝의 3요소
구 분 | 설 명 | 주요 기법 |
DB설계 (모델링) |
- 데이터베이스 설계 단계에서 성능을 고려하여 설계 | -Table 분할 및 통합, 식별자 -지정, 인덱스 전략 |
DB환경 (DBMS) |
- DBMS config 파라미터 조정 - DBMS 자원 활용 최적화 |
-CPU 튜닝, 메모리 튜닝 -I/O 튜닝, 네크워크 튜닝 |
SQL문 튜닝 | - 성능을 고려하여 SQL 문장을 작성 | 인덱스 활용, 조인방식/조인순서 |
VI. 데이터베이스의 성능 저하 예방 방안
예방방안 | 설명 |
상시 모니터링 및 관리 |
- 치명적 문제 발생 전, 주기적 모니터링 및 관리 - 정상 상태의 DB 로그 정보 보관: 성능 저하 시 비교활용 |
교육 | - 개발자에 대한 SQL 튜닝 기법 및 수행 원리 교육 필요 - 프로그램 알고리즘 교육 필요, Source Review 제도 도입 |
지속적 튜닝 수행 |
- 지속적인 튜닝 작업의 수행 - 설계 보완, 시스템 성능 개선, SQL 문제 제거 |
Lessons Learned 관리 |
- 튜닝 중 발생된 문제, 문제분석 결과, 해결 내용 저장 - 이력 관리, 성능 튜닝 시 Reference로 활용 |