12. 데이터베이스 성능 고도화 정석 해법
2010.06.13 21:03
- 문제해결 절차
- 각 단계별 성능 영향도
- 데이터 모델 및 DB 설계 :
- 업무적 특성을 반영한 정규화된 데이터 모델을 바탕으로 DBMS의 물리적 특성과 성능을 고려한 설계 변경, 그리고 DBMS 요소에 대한 설계를 실시 하는것
- 논리 데이터 모델
- 물리적 특성을 배제한 업무적특성에 따른 데이터만 반영한 논리 설계 (개녕 모델과, 상세 논리모델로 구분)
- 물리 데이터 모델
- 물리적 특성과 성능을 고려한 설계 변경, 테이블 정의, 컬럼 정의, pk/fk 정의 등
- DB 설계
- 파티션 설계, 클러스터 및 IOT구성, 기초 인덱스 설계, 뷰 설계, 시퀀스 설계등
- 애플리케이션 튜닝
- Lock 경합, 파싱 부하, db call 발생 최소화, 인덱스 설계 조정, SQL 변경을 통한 I/O 효율 향상 튜닝등
- 데이터베이스 튜닝
- 초기화 파라미터 설정, SGA/PGA 메모리 구성, Redo 파일 구성, 테이블 스페이스, 데이터 파일 구성 전략
- 시스템 튜닝
- OS레벨에서 CPU와 메모리 구성, I/O 서브 시스템 구성, 네트워크 설정 같은 하드웨어 튜닝
잘못된 데이터 모델은 비효율 적인 액세스 유형을 야기하고 SQL성능 문제해결을 위한 과도한 반정규화등을 행하게 되어결국은 데이터 일관성 및 품질 저하로 연결된다.애플리케이션단과 데이터베이스단 에서는 잘못된 방법으로 처리하고 있지는 않은지 판단하여 발생일량을 최소화 할수 있어야 한다.
- 데이터 베이스 성능 튜닝의 3대 핵심 요소
- 라이브러리 캐시 최적화
- 데이터베이스 Call 최소화
- I/O 효율화 및 버퍼캐시 최적화
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 27 | 8. 애플리케이션 커서 캐싱 | 토시리 | 2010.06.29 | 17834 |
| 26 | 9. Static vs. Dynamic SQL [1] | balto | 2010.07.03 | 28850 |
| 25 | 10. Dynamic SQL 사용 기준 | balto | 2010.07.03 | 18857 |
| 24 |
11. Static SQL 구현을 위한 기법들
| 실천하자 | 2010.07.04 | 20131 |
| 23 |
4. Array Processing 활용
| 휘휘 | 2010.07.04 | 35132 |
| 22 | 1. Call 통계 | 실천하자 | 2010.07.04 | 19179 |
| 21 |
5. Fetch Call 최소화
| 휘휘 | 2010.07.05 | 27455 |
| 20 | 5장. 데이터베이스 Call 최소화 원리 | 휘휘 | 2010.07.05 | 16631 |
| 19 |
2. User Call vs. Recursive Call
| 토시리 | 2010.07.07 | 19502 |
| 18 |
3. 데이터베이스 Call이 성능에 미치는 영향
| 토시리 | 2010.07.07 | 21934 |
| 17 | 6장. I/O 효율화 원리 | 휘휘 | 2010.07.07 | 16960 |
| 16 |
4. Prefetch
| balto | 2010.07.10 | 39247 |
| 15 |
5. Direct Path I/O
| balto | 2010.07.10 | 22564 |
| 14 | 8. PL/SQL 함수 호출 부하 해소 방안 | 토시리 | 2010.07.11 | 24566 |
| 13 | 6. 페이지 처리의 중요성 | 실천하자 | 2010.07.11 | 17352 |
| 12 | 2. Memory vs. Disk I/O | 휘휘 | 2010.07.11 | 17734 |
| 11 | 3. Single Block vs. Multiblock I/O | 휘휘 | 2010.07.11 | 17744 |
| 10 | 7. PL/SQL 함수의 특징과 성능 부하 | 실천하자 | 2010.07.12 | 22965 |
| 9 |
1. 블록 단위 I/O
| 토시리 | 2010.07.12 | 19716 |
| 8 |
1. Library Cache Lock
| balto | 2010.07.17 | 23184 |