SQL 개발부터 운영까지 전 과정 품질관리로 DB 성능장애 예방

[컴퓨터월드] 데이터 전문기업인 오픈메이드컨설팅(대표이사 최영철)사는 최근 SQL 품질관리 솔루션인 ‘OpenPOP(이하 오픈팝)‘을 발표해 주목을 받고 있다. 이 솔루션은 일반적으로 널리 알려져 있는 데이터 품질관리가 아닌 SQL 품질 관리 솔루션, 즉 개발에서부터 테스트, 배포, 운영, 변경 등에 이르는 모든 단계에 적용해서 SQL의 품질을 관리할 수 있는 최초의 SQL 품질 관리 솔루션이어서 더욱 관심을 불러일으키고 있다.

사실 DB 성능 장애의 대부분은 SQL에 있다는 게 전문가들의 공통된 지적이다. 그렇다면 그런 성능 장애 유발요인을 근본적으로 제거한다면 DB 성능 장애는 자연스럽게 최소화되지 않을까? 라는 방정식을 풀어보자는 데서 ‘오픈팝’을 개발하기 시작했다고 한다. 실질적으로 국민카드는 지난 2019년 오픈팝을 도입해 신시스템 구축 과정에서부터 운영 단계에 걸쳐 ‘SQL 성능검증’ 기능을 적용시킨바 지금까지 단 한 건의 성능장애가 발생하지 않았다고 한다. 또한 신한은행과 수협은행은 차세대 시스템을 구축하면서 기존 오라클 DB를 새로운 버전으로 업그레이드시키는 과정에 오픈팝의 ‘SPS(성능 영향도 분석)’를 사용하여 기존 DB와 신규 DB 간의 SQL의 성능을 비교분석해 성능이 저하된 SQL을 찾아 개선하는 작업에 적용하고 있다고 한다. 그런가하면 우정사업본부 차세대 시스템에는 개발단계에서부터 오픈팝의 ‘개발 SQL 품질점검’ 기능을 개발도구인 ‘이클립스(Eclips)’에 플러그 인 방식으로 탑재시켜 개발자들이 본인이 개발한 SQL에 대한 품질과 성능을 스스로 점검하고 튜닝까지 가능한 환경을 적용할 예정이라고 한다.


국민카드, 1년 전 도입 후 장애발생 ‘0’

오픈메이드컨설팅 최영철 대표는 “오픈팝을 도입 적용한 KB카드의 사례를 통해 DB 성능 장애는 거의 볼 수 가 없었다. 완벽한 솔루션이라고 장담할 수는 없지만 DB 성능 장애의 약 80% 이상은 예방할 수 있을 것으로 판단된다”고 자신 있게 피력했다.

오픈팝이 기존의 DB 모니터링 솔루션과 유사한 것 아니냐는 오해를 고객들로부터 간혹 받는다고 한다. DB 모니터링 솔루션은 DB를 운영하는 과정에서 성능이나 트랜잭션 등에 문제가 있음을 경고해 주고 대처할 수 있도록 분석 및 지원해 주는 도구이지만, 오픈팝은 개발단계부터 운영 전 과정에 이르는 SQL의 라이프사이클을 따라 품질과 성능을 점검하고 SQL의 최적화 과정까지를 관리해 주는 도구라는 것이다. 한 마디로 오픈팝은 기존의 DB 모니터링 도구와는 근본적인 솔루션 사상과 기능이 다르다는 게 오픈메이드컨설팅의 설명이다.

최영철 대표는 따라서 두 솔루션을 협업관계로 활용한다면 DB 성능장애에 대한 예방 효과를 극대화시킬 수 있을 것이라고 강조했다.

오픈메이드컨설팅이 오픈팝을 DB 성능장애 예방을 위한 ‘E2E(End-to-End) SQL 품질 관리 솔루션’이자 ‘SQL 품질관리의 뉴 패러다임’을 제시한 솔루션이라고 자신 있게 내세우는 이유도 바로 이런 데 있다.


SQL 품질관리의 뉴 패러다임 제시

그렇다면 오픈팝 솔루션은 어떤 기능과 특징을 갖고 있는지 구체적으로 살펴보면 다음과 같다.

개발 배경에서 알 수 있듯이 오픈팝은 기본적으로 DB 성능저하로 인한 장애를 최소화해 보자는 데서 개발이 시작된 만큼 그 원인이 어디에서 발생하고 있는지부터 찾았다고 한다. 즉 자사의 DB 성능 튜닝 전문가들이 현장에서 발생한 각종의 DB 성능 장애 사례들을 수년 동안 모아 그것을 분석했고, 그 결과 DB 성능이 떨어지는 가장 큰 이유는 애플리케이션의 핵심이라 할 수 있는 SQL에서 대부분(약 80% 이상) 발생하고 있음을 확인했다고 한다. 사실 DB 관리자들이 현장에서 많이 하는 일들이 SQL 튜닝이고, 대다수 전문가들도 이에 공감하고 있는 게 현실이다. 이를 해결해 주는 것이 바로 ‘오픈팝’이라는 게 오픈메이드컨설팅의 설명이다.

최영철 대표는 “대다수 개발자들은 본인이 개발한 SQL에 문제가 있는지 여부를 바로 확인 할 수도 없다. 형상관리 시스템에 등록을 한 후 다운로드해 배치로 돌려봐야만 알 수 있다”며, “그러나 오픈팝을 사용하면 SQL에 대한 개발자 셀프 점검은 문제가 있는 SQL문을 바로 찾아 개선까지도 가능하게 해 준다”고 강조했다.

최 대표는 또 “인력으로 모든 SQL의 품질과 성능을 점검한다는 것은 현실적으로 불가능하다. SI 및 감리사업의 경우에도 애플리케이션의 성능품질에 대한 관리계획은 항상 수립되지만 현실적으로는 사후에 품질을 관리하고 점검하여 개선한다는 것이 쉽지 않다. 이 같이 쉽지 않은 문제의 해결방안으로 개발 초기단계부터 실시간으로 자동 점검해 주고, 개선토록 지원해 주는 게 바로 오픈팝 솔루션”이라고 덧붙여 강조했다.

다시 말해 오픈팝 솔루션은 SQL의 품질을 처음부터 끝까지, 즉 DB 개발에서부터 테스트, 배포, 운영, 변경 등에 이르는 모든 과정에서 SQL의 품질을 선제적으로 점검 및 검증하여 DB 성능 장애를 최소화 시켜준다는 것이다.


DB 성능장애의 80%는 SQL이 원인

아무튼 DB 장애예방을 위한 당면 과제를 보면, 첫째 개발 SQL 조기 품질점검 체계가 없고, 둘째 성능 부적합 SQL 운영배포 통제기능도 없고, 셋째 자원 및 인력 부족으로 DB 장애예방을 하는 데 한계가 있고, 넷째 모니터링 도구 중심의 DB 장애예방이 대부분이고, 다섯째 반복적 인프라 증설에 의존해 성능장애를 대처하고 있다는 게 오픈메이드컨설팅의 설명이다.

또한 DB 성능 장애 유발요인으로는 △ 품질 및 성능 부적합 SQL방치, △ SQL PLAN 변경, △ 트랜잭션 및 데이터의 급작스런 증가, △ DB 점검 및 관리 소홀, △ 사전 성능영향도 분석 없는 DB 운영환경 변경 등이라고 한다.

이 같은 문제로 인해 SQL 및 애플리케이션 성능이 저하되고, 애플리케이션 작동이 멈추거나 응답시간이 지연돼 결국은 DB 장애가 발생하게 된다는 것이다.

오픈팝은 이런 DB/SQL 성능과 품질을 최적화하고 성능장애를 예방하기 위해 다음과 같은 기능을 제공하고 있다고 한다.

첫째, 개발 단계에서는 개발자 중심의 실시간 SQL 품질 점검 및 개선환경을 제공해 SQL 품질과 성능의 위험요소를 제거하고, 둘째, 배포 단계에서는 형상 및 배포 관리 도구와의 연계를 통해 성능 부적합 SQL의 운영 유입 차단이 가능하도록 통제한다. 셋째, 운영 단계에서는 신규 배포된 SQL의 초기 성능에 대한 변화추이 분석을 통해 애플리케이션의 성능을 빠른 시간 내에 안정화시키도록 했고, 넷째, 기존 운영 중인 SQL에 대한 장애유발요인 점검과 성능에 대한 종합 진단을 통해 장애가 발생하기 전에 예방할 수 있도록 했다는 것이다. 다섯째는, 운영 DB의 환경 또는 운영 플랫폼 변경 시 현재 운영 중인 SQL의 성능과 새로운 환경에서 실행될 SQL의 성능에 대한 비교 검증 후 최적화를 통한 조기 검증 및 안정화를 추구했다는 것이다. 참고로 다섯 번째 기능은 최근 DB 업그레이드와 U2L 등으로 시장요구가 크게 증가하고 있다고 한다.

E2E SQL 품질관리를 위한 오픈팝의 주요 기능
E2E SQL 품질관리를 위한 오픈팝의 주요 기능

자동화 통해 장애 발생 80% 이상 사전 예방

그렇다면 오픈팝 솔루션을 도입할 경우 어떤 효과가 있을까?

결론부터 말하면 고객사의 애플리케이션 개발 운영 관리 프로세스 체계에 자동화된 솔루션인 오픈팝의 적용을 통해 SQL의 품질과 성능을 선제적으로 관리하면 애플리케이션의 성능이 크게 향상되고, DB 성능장애 발생의 80% 이상을 사전에 예방 할 수 있다는 게 오픈메이드컨설팅의 설명이다. 예를 들어 개발SQL 품질점검의 경우 25가지 이상 항목의 표준지표에 의한 점검을 통해 거의 완벽에 가까운 SQL 품질을 갖추게 된다고 한다.

이 SQL들은 배포 통제 관리를 거치며, 성능 부적합 SQL은 운영유입이 자동 차단되고, 외주 SI 프로젝트에 의해 개발된 애플리케이션의 SQL 품질과 성능은 운영 적용 전 자동적으로 일괄 검증할 수 있고, 검증 과정을 거쳐 운영에 배포되어 실행되고 있는 SQL의 장애 및 성능저하 유발요인을 다시 재점검한다. 이렇게 자동화된 SQL 품질 파이프라인 관리를 통한 최적화된 SQL 품질로 DB 성능장애 발생을 최소화 할 수 있다는 것이다.

아무튼 오픈메이드컨설팅이 발표한 SQL 품질의 선제적 관리를 통한 DB 성능장애 예방 솔루션인 ‘오픈팝’은 애플리케이션 성능 향상은 물론 DB 성능장애 예방까지 두 마리의 토끼를 동시에 잡을 수 있을 것이라는 게 관계 전문가들의 평가이다.

DB 구축 전문 기업으로 지난 17년 동안 꾸준히 성장 발전해온 오픈메이드컨설팅이 야심차게 개발 발표한 오픈팝 솔루션으로 SQL 품질관리 시장을 어떻게 장악해 나갈지 시간을 두고 지켜 볼 일이다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지