[3) 오라클 성능 관리]11-12.데이터베이스 성능 고도화 정석 해법

Yu River·2022년 7월 6일
0

[1] End-To-End 성능관리

(1) 특징

  • 사용자가 느끼는 응답 시간이 성능에서 중요한 부분을 차지한다.

(2) End-To-End 성능관리 툴의 장점

  • WEB, AP, DB ZONE 중에서 병목 발생한 구간의 실시간 모니터링이 가능하다.
  • 튜닝 대상 서비스와 SQL 목록 식별에 유용하다.

[2] 데이터베이스 성능 고도화 정석 해법

(1) 데이터베이스 문제 해결 절차

  1. 모니터링 자료수집
  2. 분석진단
  3. 튜닝
  4. 평가

(2) 데이터베이스 성능 튜닝의 3대 핵심 요소

application tuning 관점의 데이터베이스 성능 튜닝의 3대 핵심 요소

  1. 데이터 모델 및 DB 설계
  2. 라이브러리 캐시 최적화
    • 무거운 파싱과정을 거쳐 캐시에 적재된 SQL 실행계획의 재사용성 증가
  3. 데이터베이스 CALL 최소화
  4. I/O 효율화버퍼캐시 최적화
    • 인덱스와 조인 원리, 옵티마이저 원리를 기반으로 한 sql 튜닝 포함
    • I/O를 최소화 하고, 장기간 버퍼캐시에 적재된 데이터 블록의 재사용 증가

(3) 구조와 튜닝이 성능에 미치는 영향도

데이터 모델 및 DB 설계 >> 애플리케이션 튜닝 >> 데이터베이스 튜닝 >> 시스템 튜닝

(왼쪽이 제일 크고 오른쪽으로 갈수록 작아진다.)

  • 영향도 1순위 : 데이터 모델 및 DB 설계
    • 업무가 반영된 정규화된 데이터 모델이 바탕
    • DBMS의 물리적 특성과 성능을 고려한 설계 변경

      ✅ DBMS 요소에 대한 설계

      • 논리적 모델 : 데이터의 업무적 특성만을 반영한 설계이며 DBMS의 물리적 특성 배제한다.
      • 물리적 모델 : DBMS의 물리적 특성과 성능 고려한 설계 변경
        • ex) 반정규화, 집계성 테이블 설계, 테이블과 컬럼 정의, PK/FK 정의 등
      • DB 설계 : 파티션 설계, 클러스터 및 IOT 구성, 기초 인덱스 설계, 뷰 설계, 시퀀스 설계 등
  • 영향도 2순위 : 애플리케이션 성능
    • lock 경합, parsing 부하, database call 발생량 최소화
    • 인덱스를 설계 조정하거나 SQL을 변경하여 I/O 효율을 향상시킨다.
  • 영향도 3순위 : 데이터베이스 튜닝
    • init parameter 설정, SGA/PGA 메모리 구성 , redo 파일 구성 , tablespace & datafile 구성 등에 관한 전략을 조정한다.
  • 영향도 4순위 : 시스템 성능
    • OS level에서 CPU와 메모리 구성, I/O subsystem 구성(파일시스템, 디스크 스트라이핑 등) , 네트워크 설정 같은 하드웨어적인 튜닝을 실시한다.
  • 잘못 설계된 모델이 시스템에 미치는 영향
    • 비효율적인 액세스 유형을 야기하여 이로 발생된 SQL 성능 문제 해결을 위해 과도한 반정규화를 실시한다.
    • 궁극적으로 데이터의 일관성과 품질이 저하되어 이는 곧 기존 데이터에 대한 신뢰성 저하 및 중복 데이터 증가로 이어진다.
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글