[만나봅시다] “DB 성능 장애 예방은 ‘선제적SQL 품질관리’가 답이다”
국내 최초 ‘SQL 품질관리’ 솔루션 개발
[아이티데일리] 오픈메이드컨설팅은 데이터 전문 기업이다.
지난 2005년 11월 설립해 올해로 16년여 째 주로 데이터와 관련된 컨설팅에 주력해 오고 있다. 그러나 대외적으로 그렇게 널리 알려져 있지는 않았다. 데이터에 관한 외길을 걸으며 엔지니어적인 성장에 더 많은 노력을 해오고 있기 때문이라고 한다. 독자 솔루션도 개발해 보았고, 개발역량도 충분했지만 비즈니스 창출은 또 다른 영역이라 주로 컨설팅 용역 개발에 주력해 왔다고 한다. 주요 고객 시장은 금융 및 공공분야이고, 주로 SI 기업들과 컨 소시엄을 이뤄 비즈니스를 창출해 왔다고 한다. 때문인지 관련 분야에서는 오픈메이드컨설팅사의 컨설팅 및 기술 서비스에 대한 평가가 상당히 높은 것으로 알려지고 있다. 최영철 대표와 일문일답을 통해 최근 4년 동안 야심차게 개발한 SQL 품질관리 솔루션인 ‘오픈팝(OpenPOP)’에 대한 궁금증을 풀어본다.
국내 최초 ‘SQL 품질관리’ 솔루션 개발
- 국내 최초 개발한 솔루션이라고 하는데.
“그렇다. 일반적으로 DB 품질관리 솔루션이라고 하면 DB 성능 모니터링 솔루션으로 대체할 수 있다고 인식되어 있다. 그러나 엄격히 말하면 SQL 품질관리와 DB 성능 모니터링은 서로 다른 소프트웨어 카테고리에 속한다. 오픈팝은 SQL 품질관리 솔루션으로 국내 최초라고 할 수 있다.”
- 그렇다면 모 니터링 솔루션과 오픈팝이 무엇이 다른가.
“모니터링 도구는 개발 운영하는 과정에서 성능이나 트랜잭션을 모니터링 해서 위험요인을 조기경고 해주어 대처할 수 있도록 해주고, 장애발생 시 또는 성능저하 시 원인분석을 도와주는 등의 역할을 한다. 하지만 개발과정부터 SQL의 품질(표준)을 점검하고 배포 SQL의 성능을 검증하여 배포를 통제하고, 실행 SQL의 성능에 대한 변화분석 및 성능장애 유발요인을 찾아 주고 진단을 해주는 건 아니다.”
“DB의 장애 발생 요인은 굉장히 다양하다. 하지만, 현장의 얘기를 들어보면 SQL의 성능저하로 인한 DB장애가 매우 많다. DB 관리자들이 일과 중에 많이 하는 업무가 SQL 튜닝이라는 것이 이를 반증해 준다. 이것은 마치 두더지잡기 게임과 같다. 매일매일 다른 원인에 의해 DB 성능저하 문제가 튀어 오르고, 그에 따른 SQL 튜닝을 반복적으로 하는 것이 주 업무라고 해도 과언이 아니다. 그러한 어려움을 근본적으로 해결하고자 하는 것이 ‘오픈팝’이다.”
- 품질검증에 대해 좀 더 구체적으로 설명해 달라.
“SQL을 개발, 배포, 운영하는 모든 과정에서 DB 성능장애 발생요인의 주범인 SQL 품질의 점검과 검증, 그리고 진단 등을 통해 성능장애 유발요인을 조기에 발견해 조치함으로써 DB 성능장애를 사전에 차단하는 것이다. 예를 들어 개발자들은 본인이 개발한 SQL에 문제가 있는지 바로 알 수가 없다. 제시된 개발 가이드에 맞춰 작성하려고 최선을 다하지만 그 가이드 역시 그렇게 명확하지가 않다. 형상관리 시스템에 등록한 후에야 SQL의 기본적인 품질정도를 확인 할 수 있다. 하지만 오픈팝을 사용하면 이런 문제를 해결해 준다. 즉, 개발자가 직접 SQL의 품질과 성능을 개발 즉시 실시간으로 셀프점검을 할 수 있고, 문제가 있는 SQL을 찾아내어 개선할 수 있도록 개선점을 알려주고 지원해 준다.”
“참고로 오픈팝에는 SQL에 대한 25가지 표준 품질점검지표와 6가지의 성능점검지표가 있으며, 고객사의 환경에 따라 커스터마이징이 가능하다. 개발자들이 작성한 SQL이 각 지표의 기준을 만족하는지 여부를 확인하는 게 셀프 점검이다.”
DBA의 현장업무는 상당부분이 ‘SQL 튜닝’
- ‘오픈팝’은 SQL의 전 단계를 지원하기 위한 많은 기능을 가지고 있는 것으로 알고 있다. 기능이 많으면 그 만큼 느려지는 것 아닌가.
“익숙한 질문이다. 그래서 고객들은 구축사례가 있는지 여부를 많이 묻는다. 그러나, 오픈팝은 이미 성능적인 이슈는 없다고 입증됐다. 4년간 집중적인 연구와 실전 적용을 통해 최적화된 아키텍처로 설계되어 있기에 고객의 운영 DB에는 전혀 부하를 주지 않는다. 현재 KB카드사의 상품시스템에 적용되어 1년 이상 아무런 문제없이 잘 운용되고 있다. 또한 현재 수행중인 수협은행 차세대 프로젝트의 U2L 사업에서 성능적인 이슈 없이 사용 중이며, 신한은행의 U2L 사업에도 적용하기로 되어있다.”
- ‘오픈팝 SPS’ 기능도 주목을 받고 있는 것으로 알고 있다.
“‘오픈팝 SPS(SQL 성능 영향도 분석)’라는 기능은 최근 핫한 U2L이나 오라클DB 19c 업그레이드를 진행하는 경우, 현 운영 DB에서의 SQL성능이 새로운 DB환경에서도 유지되는지를 미리 확인해봐야 되는데, 수만 개나 되는 SQL들에 대해 성능의 검증을 인력이 직접 수행하여 점검할 수가 없다. 오픈팝 SPS는 AS-IS(기존) DB의 SQL 성능과 TO-BE(새로 구축한 후) 운영DB에서의 SQL 성능을 자동으로 비교 검증하고 성능이 저하된 SQL의 성능을 최적화시켜주어 새로운 운영DB 환경에서 DB 성능의 조기 안정화 될 수 있도록 지원해주는 기능이다. 오픈팝 SPS의 활용은 인력 의존 방식에 비해 누락 없는 SQL 성능의 전수 검증이 가능하고, 또한 검증 수행시간(기간)을 획기적으로 줄일 수 있다.”
“기존 운영 DB에서 SQL을 수집하고, 검증 DB에서 성능변화 영향도 분석과 최적화를 수행하고, 최적화된 프로파일을 신규 DB에 이관 적용시켜 신규 DB에서 성능변화 분석을 수행해서 다시 최적화하고, 이렇게 반복적 자동화된 프로세스를 수행한 후 SQL 성능에 대한 최종적인 성능검증 보고서를 제공한다. 또한 오픈팝 SPS는 현재 운영 중인 DB에서 파라미터나 오브젝트를 변경한 경우에도 관련 실행 SQL의 성능변화에 대한 영향도를 분석 검증하여 성능장애 리스크 없이 조기에 신속하게 변경작업이 이루어 질 수 있도록 기능을 제공한다.”
E2E SQL 품질관리 솔루션으로는 ‘오픈팝’이 유일
- ‘오픈팝’ 솔루션만의 특장점이라면.
“일부 솔루션들이 스태틱 점검 방식의 고정된 코드 분석만 해주는 반면, 오픈팝은 스태틱 점검 방식과 함께 실행 SQL의 품질뿐만 아니라 실행 성능까지 점검해준다. 이 방식이 훨씬 정교하고 효율적이라고 할 수 있다. 일반적으로 모든 솔루션은 기능 위주로 구성되어 있는 경우가 대부분이지만, 오픈팝은 각각의 기능들이 고객의 업무 단계와 활용용도에 맞게 연동시켜 자동화된 프로세스로 SQL의 품질을 관리 해 준다. 개발단계부터 운영까지 고객 사이클에 맞춰 SQL의 품질과 성능을 점검, 검증, 추적, 진단, 시험까지 지원해 주는 솔루션은 오픈팝이 유일하다고 본다.”
- ‘오픈팝’ 은 어떤 고객들에게 가장 적합한가.
“첫 번째는 차세대시스템 또는 시스템의 고도화를 구축하고자 계획 중인 고객사로 개발 SQL에 대한 품질과 성능을 개발초기부터 철저하게 관리하고자 하는 고객이고, 두 번째는 현 시스템의 DB 성능 저하로 고민 중인 고객사, 특히 DB의 성능저하 문제로 인해 시스템자원을 지속적으로 증설하고 있는 고객사다. 세 번째는 DB운영 환경 변화 시 SQL 성능변화에 대한 영향도를 미리 분석해 보고 싶은 고객사들이라고 할 수 있다.”
“참고로, RDB의 특성상 데이터 증가와 비례하여 무조건 성능이 떨어지는 것은 결코 아니다. 하지만, 이 전제가 성립하기 위한 필요충분조건은 최적화된 SQL이 필요하고 우리는 이를 ‘착한 SQL'이라고 부른다. 현재 운영하고 있는 DB에 성능 이슈가 많은 곳에 오픈팝을 적용하면 DB/SQL의 진단을 통해 그 문제점을 바로 확인할 수가 있다. 앞서 언급했듯이 현재 진행 중인 대형급의 차세대 프로젝트 3곳(수협은행, 신한은행, 우정사업본부)에서 오픈팝을 활용중이거나 곧 활용 예정이다.”
한편 오픈메이드컨설팅은 지난 16년여 동안 DB/데이터 컨설팅 중심의 사업을 통해 다양한 경험과 완성도가 높은 기술들을 축적해 오고 있고, 고객사들로부터의 신뢰도가 높은 것으로 알려지고 있다. 그런 오픈메이드컨설팅사가 오픈팝 솔루션을 개발해 SQL 품질관리 시장에 도전장을 내민 것이다. 오픈메이드컨설팅사의 도전으로 SQL 품질관리에 대한 패러다임의 큰 변화가 예상 된다는 게 관계 전문가들의 공통된 시각이다.
최영철 오픈메이드컨설팅 대표