데이터베이스 튜닝에 대해 언제,누가,어떻게,무엇을 왜 하는지 살펴보고자 한다 ~ !!
데이터베이스 튜닝이란 ??
데이터베이스의 성능 향상을 위하여 운영체제나 DB자체의 구조를 이해하고 필요한 요소를 변경하는 작업을 말한다.
데이터베이스를 단순히 데이터의 저장과 인출 등의 목적으로만 활용하는 것이 아니라 실제 서비스 운영에 있어 성능은 매우 중요한 요소이다.
단순히 하드웨어의 퍼포먼스를 향상시키는 방안이 아니라 자주 호출하는 SQL이나 프로그램에서 호출되는 SQL의 경로 등을 운영체제나 다른 미들웨어 영역까지 확장하여 주어진 자원을 범위로 성능을 향상시킬 수 있는 범위를 탐색하는 것이 중요하다.
데이터베이스 튜닝의 3단계
데이터베이스 설계 튜닝 : 데이터베이스 설계단계에서 성능 고려
데이터베이스 환경 튜닝 : 성능을 고려하여 메모리나 블록 크기 등을 지정
SQL문장 튜닝 : 성능을 고려하여 SQL 작성하고 쿼리 문장을 수정
데이터베이스 튜닝 왜 할까 ?
데이터베이스 튜닝은 주어진 H/W 환경을 통해 처리량과 응답속도를 개선하기 위해 수행한다. 시스템 운영 중 다양한 애플리케이션의 도입과 데이터베이스 내 데이터량과 환경이 지속적으로 변화하고 또한 이를 호출하는 프로그램과
SQL이 잦은 수정을 거치게 되면 데이터베이스는 성능을 보장할 수 없다. 이에 따라 성능저하가 발생하면
시스템의 안정과 사용자의 만족등을 위해 정기적인 데이터베이스 튜닝이 필요하다.
데이터베이스 튜닝 누가 할까 ?
데이터베이스 성능 튜닝은 다양한 업무 영역에서 실시 한다.
응용프로그램 설계자 : 응용시스템 영역에서 시스템 재디자인
응용프로그램 개발자 : SQL 문장 레벨에서 힌트를 수정하는 효율적인 SQL 쿼리문장 수정
DBA : 비정상적인 시스템 수치를 모니터링하고 이와 관련한 DB 파라미터 수정
H/W,S/W,OS 관리자 : 시스템 레벨에서 원인을 파악하고 환경을 개선하고자 패치 권고
하지만 시스템 구조 자체를 건드는 일은 운영 서비스 전체의 광범위한 영향을 미칠 수 있으므로 문제를 탐색하고
발생한 문제 지점만을 효율적으로 진단하고 해결할 수 있는 지엽적인 처방이 우선시 되어야 합니다.
데이터베이스 튜닝 언제 할까 ?
데이터베이스 튜닝은 시스템 계획.분석 및 설계,개발 및 검수, 시스템 운영 전 단계에 걸쳐서 수행
다만 각 단계에 맞는 튜닝방은들이 있으며 시스템 설계단계에서 부터 적극적으로 성능을 고려하여야만 추후에 튜닝에 대한 이슈가 적어질 수 있다. 이에 따라 시스템 개발 그 자체에 목적을 두는 것이 아닌 효율적인 시스템을 설계하고 개발하는데 전념 해야 한다.
시스템의 문제를 분석하고 성능 목표를 결정하고 튜닝을 실시한다. 데이터베이스 튜닝을 위해 OS,DB,WAS 등의 영역에서 시스템 레포팅을 참조할 수 있다. 이에 따라 성능이 떨어지는 프로그램을 발견하거나 특정시점이나 환경에 저하될 수 있는 상황 등을 탐지할 수 있다. 이에 문제를 정확히 분석하고 이를 원천적으로 해결할 수 있는 다양한 방법을 시도해볼 수 있다. 위에서 언급한 바와 같이 시스템 전체 영역에 영향을 미치는 경우 서비스에 정상적인 운영을 오히려 방해하는 경우가 생기므로 파급 영향을 함꼐 고려해야 한다.
'IT > DB' 카테고리의 다른 글
오라클 클라이언트 및 패키지 설치 방법 (2021.10.26 기준) (0) | 2021.10.26 |
---|---|
SQL 개념 정리 (0) | 2021.10.20 |
쿼리란 ? (0) | 2021.10.14 |
DBMS와 SQL이란 (0) | 2021.08.19 |
[DB]SQL Query문 간단하게 정리 (SELECT,INSERT,UPDATE,DELETE 쿼리문 사용법) (0) | 2021.08.11 |