• DB 문제 해결 프로세스

image00.png


  • DB 성능해결에 Ratio 기반 분석 방밥론이나 대기 이벤트 기반 분석 방법론등
    여러가지 방법로 제시가능하지만 대부분 DB 성능 문제가 애플리케이션 튜닝으로 귀결

  • 데이터 베이스 성능 튜닝의 3대 핵심 요소
    •  라이브러리 캐시 최적화
    •  데이터베이스 Call 최소화
    •  I/O 효율화 및 버퍼 캐시최적화

  • 성능에 영향을 미치는 주요 비율

image01.png


  • 데이터 모델 및 DB 설계
    • 업무적 틍성을 반영한 정규화된 데이터 모델을 바탕으로
    • DBMS의 물리적 특성과 성능을 고려한 설계 변경, DBMS 요소에 대한 설계를 실시
    • 논리데이터모델
      • 데이터의 업무적 특성만을 반영한 논리설계, 개념모델과 (상세)논리모델로 구분
    • 물리데이터모델
      • DBMS 의 물리적 특성과 성능을 고려한 설계변경(엔티티 통합/분할, 인조식별자 정의,이력관리,반정규화,집계 테이블 설계), 테이블 정의, 컬럼 정의, PK/FK 정의등
    • DB설계
      • 파티션 설계, 클러스터 및 IOT 구성, 기초 인덱스 설계, 뷰 설계, 시퀀스 설계등

  • 애플리케이션 튜닝
    • LOCK 경합, 파싱 부하, DB CALL 발생량 최소화, 인덱스 설계 조정 및 sql 변경을 통한 I/O 효율을 높이는 튜닝 요소

  • 데이터베이스 튜닝
    • 초기화 파라미터 설정, SGA/PGA 메모리 구성, Redo 파일 구성, 테이블스페이스 및 데이터파일 구성등에 관한 전략을 조정
  • 시스템 튜닝
    • OS 레벨에서 CPU 와 메모리 구성, I/O 서브시스템 구성 (파일시스템, 디스크 스트라이핑 등), 네트워크 설정 같은 H/W 튜닝

  • DB 튜닝과 시스템 튜닝은 근본적인 처방이 되지 못하며 성능을 좌우하는 핵심은 고품질 데이터 모델과 효과적으로 구현된 애플리케이션

  • 잘못된 모델의 악순환 고리
    • 잘못된 데이터 모델은 비효율적인 액세스 유형을 야기 -> SQL 성능 문제를 해결한 과도한 반정규화
      -> 데이터 일관성과 품질 저하 -> 기존 데이터 신뢰성 저하 -> 중복 데이터 양산의 악순환

  • 3가지 주요 튜닝 포인트

P3-18.jpg


  • 라이브러리 캐시 최적화 원리 : 4장
  • 데이터베이스 Call 최소화 원리: 5장
  • I/O 효율화 및 버퍼 캐시 최적화 원리: 6장