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로 활용