DB 재능 기부 세미나(DBian, Oracle, SQL Server)
세미나 수강 이유
어느 날 메일을 확인해 보니 SQL튜닝 강의를 들었었던 dbian으로 부터
한통의 메일이 도착했다.
내용은 DB 재능기부 세미나를 한다는 내용이었고
강의 내용은 아래와 같았다.
관심이 생겨서 참가 신청을 했다.
재능기부 형식으로 진행되는 강의였고, 그만큼 적은 비용에
좋은 지식들을 얻어 갈 수 있는 기회라서 인기가 많고 참가신청에
실패했다는 댓글들을 여럿 보았다.
이런 좋은 기회를 놓칠 수 없어서 대학생 때 이후로 오랫만에
시계를 켜놓고 10시에 참가 신청 대기를 했다.
운 좋게 참가신청에 성공했고, 일주일 뒤 도착한 tn프로그램을 노트북에
미리 설치한 후 강의장으로 향했다.
수강기록(23.11.12)
1. SQL Server 튜닝 첫걸음
1교시는 삼성SDS 장재우 수석님이 강의를 해주셨다.
시간이 짧은 관계로 튜닝의 가장 기본인 INDEX 설명과
실제 튜닝사례들을 알려주셨다.
INDEX튜닝은 어느 DB에서는 똑같이 때문에 기본이 가장
중요하다는 말씀을 해주시면서, SQL Server의 튜닝방법들을
간단히 알려주셨다.
2. ORACLE SQL 성능 모니터링 및 분석
2교시는 위드비즈 김용찬 대표님이 강의를 해주셨다.
Database Replay(부하테스트)
Active Session History(튜닝포인트 체크)
Real-Time SQL Monitoring(SQL 실행정보 실시간 확인) 등
오라클의 모니터링, 분석을 위한 방법들을 알려주셨다.
오라클은 자체적으로 위와 같은 모니터링, 분석 시스템 기능을
제공하고 있기 때문에 다른 DB들 보다 DBA의 업무시 많은
도움이 된다고 하셨다.(라이선스 필요)
ORACLE의 사용 비용이 비싼 이유가 있다
3. tn을 활용한 오라클 성능 분석
3교시는 디비안 변동구 이사님이 강의를 해주셨다.
오라클의 AWR을 활용해서 성능 분석 하는 tn이라는 프로그램의
설명 및 사용법을 알려주셨다.
(본인이 직접 만든 성능분석 프로그램)
수강 이후
세미나 후 느낀 점은 아래와 같다.
1. xplan이 전부가 아니다
친절한 SQL 튜닝 강의를 수강했을 때 xplan을 활용해서 trace를 확인했다.
나는 xplan만 사용하면 된다고 생각했지만, 만능은 아니었다.
예를 들면 10시간 도는 쿼리를 확인하기 xplan을 사용한다면
10시간을 기다려야 한다.
하지만 실제 업무에서 쿼리를 확인하기 위해 10시간 기다린다는 것은
굉장히 비효율적이다.
그래서 이를 보완하기 위해 real-time monitoring을 활용한다.
실시간으로 쿼리의 문제점을 파악할 수 있기에 강사님께서도
오라클의 성능분석 프로그램을 잘 활용하면 xplan보다
더 많은 정보를 얻을 수 있고 효율적인 튜닝이 가능하다고 하셨다.
2. INDEX기초의 중요성
쿼리성능 문제는 50% 이상이 인덱스로 해결이 된다고 한다.
그만큼 Index의 원리(스캔, 탐색)를 아는 것이 중요하다.
앞으로 업무를 하면서 내가 만든 쿼리에 대해서는
Index구성에 맞게 쿼리를 짰는지, Index 구성 및 테이블 컬럼이
효율적으로 구성되어 있는지 확인해 봐야겠다.
3. 모니터링 및 성능분석의 종류
KB카드 프로젝트 때 옆 파트에서는 큰 화면에 실시간 변동 그래프
화면을 띄워놓고 업무를 했었다.
그 당시에는 뭐하는지 몰랐지만 지금 돌아보니 DBA팀의 모니터링 업무였다.
이번 세미나의 오라클 및 DBian의 모니터링 진단도구를 보면서
DBA들이 어떤 항목을 보고 모니터링 및 문제점을 파악하는지 알 수 있었고
이런 진단 도구들을 잘 활용한다면 튜닝의 시작 시점을 더 쉽게 파악
할 수 있겠다는 생각이 들었다.
이번 세미나를 통해 Index의 기초를 확실 히 다질 수 있었고
실제 튜닝사례를 들어보면서 쿼리 튜닝 시 새로운 접근 방법을
알 수 있었다.
또한 개발자인 나는 모니터링 및 성능분석은 하지 않겠지만
DB에 대한 식견을 넓힐 수 있어서 좋았다.
앞으로도 계속 DB에 대한 관심을 가지고 공부하면서
더 성장해 가는 개발자가 돼야겠다.