데이터 인터뷰

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

“12기통 엔진이 내뿜는 DB 가속력 제대로 보여주겠다” - 김상욱 에포샤 대표

DATA 인터뷰
작성자
dataonair
작성일
2017-12-11 00:00
조회
2573


애포샤, 운영체제 레벨의 DB 성능 가속엔진 ‘첫선‘

“12기통 엔진이 내뿜는 DB 가속력 제대로 보여주겠다”

- 운영체제 최적화해 DB 성능 제고하는 ‘V12 Engine’ 출시
- MongoDB 클라우드 DB 서비스 시작으로 PostgreSQL, MySQL 등으로 확대
- 전통적 DB 튜닝의 한계를 극복해 OS 차원에서 DB 응답성능 제고 가능

SQL을 튜닝해 DB 성능을 제고하던 방식을 떠나 운영체제(OS) 레벨에서 DBMS 성능을 높여 주는 스타트업이 등장했다. 애포샤(http://apposha.io)가 바로 그 주인공이다. 애포샤는 V12 Engine 기반의 MongoDB 클라우드 서비스를 지난 11월 초에 오픈했다. MySQL을 최적화한 아마존의 오로라(Amazon Aurora)의 등장, 한국카카오은행(카카오뱅크)이 MySQL을 인터넷뱅킹 시스템에 적용한 사례 등 오픈소스 DB 바람이 거세게 몰아치고 있다. 그 중에 애포샤가 내놓은 운영체제 레벨의 DB 성능 최적화 기술은 단연 눈길을 끈다. DBMS 자체를 수정하는 아마존의 오로라의 방식과 다르게, 애포샤의 V12 Engine은 운영체제 수준에서의 DBMS 성능 최적화로 접근했다. 애포샤의 김상욱 대표를 만나 V12 Engine 출시 배경과 향후 계획에 대해 얘기를 나눴다.



in_072.jpg
▲ 김상욱 에포샤 대표


애포샤를 소개하면.

애포샤는 지난해 9월에 창업한 클라우드 DB 서비스 기술 업체다. 직접 개발한 DBMS 성능 최적화 엔진인 ‘V12 Engine’ 기반의 완전 관리형 DB 서비스를 퍼블릭 클라우드 버전과 엔터프라이즈 버전으로 구분해 공급하고 있다. V12 Engine 기반의 클라우드 DB 서비스에 대한 클로즈베타 서비스 요청이 많아 2017년 11월 첫째 주에 MongoDB 서비스부터 오픈하였다.


V12 Engine을 소개하면.

운영체제와 DBMS 사이에서 작동하면서 운영체제를 DB의 리소스 사용 패턴에 특화해 DB 성능을 높여주는 엔진이다. 좀 더 구체적으로 V12 Engine은 유저 수준 라이브러리와 CPU 스케줄러, 파일시스템, I/O 스케줄러를 포함하는 리눅스 커널 모듈들로 구성되어 있다. DB 성능을 위해서 멀티코어 CPU와 저장장치의 효율성을 향상시키는 역할을 한다.


in_073.jpg
▲ DBMS 서비스를 위한 기존 운영체제의 문제점과 V12 Engine의 동작 원리


클라우드 DB 서비스를 제공하는 기업들이 이미 많은데 동참한 이유가 있다면.

애포샤는 클라우드 DB 서비스를 염두에 두고 출발하지 않았다. V12 Engine을 공급하기 위한 하나의 방법으로서 클라우드 DB 서비스를 하기에 이르렀다. 처음에는 V12 Engine만 공급하려 했는데, 고객들을 만나다 보니 이를 운영해주는 서비스까지 있어야 가능함을 깨달았다. MySQL이나 오라클과는 달리 PostgreSQL이나 MongoDB, Elasticsearch 등은 국내에 관련 DB 엔지니어가 부족했다. 일단 관리?운영을 안정적으로 할 수 있어야 성능 최적화에 대한 필요성이 생기는데, 그럴 여건이 덜 마련된 상태였다. 그래서 클라우드 환경에서 완전 관리형 DB 서비스까지 제공하게 됐다. 국내에서 클라우드 DB 서비스는 애포샤가 처음이 아닌가 한다. 질문처럼 아마존(Amazon Web Services), 마이크로소프트(Microsoft Azure) 등 다양한 사업자가 자사 클라우드 위에서 완전 관리형 DB 서비스를 이미 제공하고 있다. 앞서 소개했지만, 애포샤는 선발 클라우드 DB 서비스와 다르게 관리?운영에 대한 자동화뿐 아니라 V12 Engine을 통해 MySQL이나 MongoDB 등 오픈소스 DB의 향상된 성능을 제공하는 클라우드 서비스다. 결국 동일한 성능의 장비에서 기존 클라우드 DB 서비스보다 V12 Engine 기반의 서비스가 더 높은 성능을 제공하기 때문에 고객은 더욱 안정된 서비스 운영이 가능해지고 비용 절감 효과도 볼 수 있다.


in_074.jpg
▲ 애포샤 클라우드 DB 서비스의 대시보드 화면 (DB 생성)


in_075.jpg
▲ 애포샤 클라우드 DB 서비스의 대시보드 화면 (DB 모니터링)


국내 퍼블릭 클라우드 시장은 미국 등과 비교해 상대적으로 더디게 발전하고 있다고 하는데.

질문에 동의한다. 하지만 2020년까지 IT 시스템의 90% 이상이 클라우드 기술로 바뀔 것이라고 한다. 잘 알려졌 듯이 클라우드 환경은 퍼블릭과 프라이빗으로 구분된다. 네이버나 KT, 아마존 등의 퍼블릭 클라우드 서비스를 이용하지 않더라도 기업 내 IT 자원은 이미 클라우드 기술을 중심으로 발전하고 있다. 이것을 일반적인 용어로 말하면 프라이빗 클라우드다. V12 Engine은 순수하게 소프트웨어로만 구성되어 있으므로 프라이빗 클라우드 환경, 즉 은행이나 관공서 등 자체 시스템 센터를 운영중인 곳에도 도입?운영이 가능하다.


창업과 동시에 제품을 내놓을 수 있었던 배경이 궁금하다.

창업 이전에 오랜 기간 리눅스 OS를 최적화해 DBMS의 성능을 높이는 연구를 해왔기에 가능했다. 성균관대 컴퓨터공학과 박사 과정에 재학중으로 운영체제를 전공하고 있다. 운영체제를 전공하면서 DBMS를 위한 운영체제 최적화 기술을 8년 동안 연구했다. 애초 2017년 1월에 창업을 계획하고 있었는데, 투자자들을 예상보다 일찍 만나게 돼서 계획보다 조금 앞당겨 법인을 설립했다.


운영체제 차원에서 DB 성능 최적화는 어떤 장점이 있나.

DBMS와 서버 자원을 그대로 유지하면서 성능을 높일 수 있는 점을 들 수 있다. 알고 있듯이 전통적으로 DB 성능 최적화는 주로 DB 튜닝 측면에서 이뤄졌다. 하드웨어 성능을 높이는 것도 방법이었지만, DB 튜닝보다 비용이 더 든다고 한다. DB 튜닝과 서버 자원 증설 없이, 그것도 DBMS를 수정하지 않고도 접근 가능한 DB 성능 향상 기술이 바로 애포샤의 V12 Engine이다. 참고로 아마존이 MySQL을 최적화해 오로라 DBMS를 내놓았을 때 ‘DB 튜닝으로 단계적으로 성능을 높이는 대신 한 번에 성능을 끌어올릴 수 있다’고 강조했다. 하지만 아마존 오로라는 운영체제 수준에서의 접근법과는 달리 DBMS와 클라우드 인프라가 강하게 결합된 형태의 서비스이므로 DBMS 코어 부분의 수정이 필요하고 아마존 클라우드 위에서만 동작하는 제약이 있다.


V12 Engine으로 운영 OS를 최적화했을 때 DBMS 성능이 기존 대비 어느 정도 개선되나.

MongoDB의 경우에는 동일한 환경에서 V12 엔진 적용 시 평균 응답 지연은 0.62초에서 0.36초로 약 두 배 개선되며, 최대 응답 지연은 6.7초에서 0.2초로 약 32배 개선된다. PostgreSQL의 경우에는 초당 4,900개의 트랜잭션에서 V12 Engine 적용시 초당 10만 개까지의 트랜잭션을 처리할 수 있게 된다. 최대 응답 지연은 1초에서 0.2초로 약 5배 개선된다.


요즘은 클라우드 서비스 업체가 성능을 높인 오픈소스 DBMS를 직접 내놓기도 하는데.

아마존 오로라(Amazon Aurora)를 말하는 것 같다. 오로라는 DBMS의 성능을 끌어올리기 위해 DBMS의 코어 코드를 수정하고 있다. 이 때문인지 MySQL 버전의 업그레이드에 맞춰 오로라의 업그레이드가 이뤄지지 않고 있다. 애포샤의 V12 Engine은 DBMS 코드의 수정을 필요로 하지 않으므로 DBMS가 업그레이드되더라도 그대로 수용할 수 있다.


V12 Engine은 현재 어떤 운영체제와 DBMS를 지원하나.

Ubuntu, CentOS 등 리눅스 계열 운영체제는 모두 지원한다. DB는 현재 MongoDB만 지원하고 있지만 앞으로 MySQL, PostgreSQL 버전도 내놓을 계획이다. 참고로 오라클 등 상용 DBMS는 소스가 공개되지 않기 때문에 성능 최적화를 위한 분석에 한계가 존재한다. 따라서 V12 엔진은 기본적으로 오픈소스 DBMS만 지원 가능하다.


상용 DBMS에서는 OS 최적화를 이미 지원하고 있어서 유닉스나 윈도우 등을 지원하지 않는 것인가.

상용 DBMS는 소스가 공개되지 않았으므로 V12 Engine에서 지원하기 까다로운 점이 있다. 참고로 상용 DBMS의 대표 제품 가운데 하나인 오라클(Oracle)은 운영체제의 간섭을 최소화하는 방식으로 성능 최적화를 추구해온 것으로 알고 있다.


협력 업체들이 있는가.

MySQL 관련해서는 경험이 많은 DB 엔지니어들이 많으므로 DB 엔지니어링 전문 업체들과 협력 관계를 구축할 계획이다. MongoDB 등 전문 업체가 부족한 영역은 애포샤가 직접 기술지원을 해야 하지 않나 한다.


in_076.jpg
▲ 대학에서 운영체제와 DB 분야를 연구한 것이 계기가 돼 DB 기술기업을 설립했다는 애포샤의 김상욱 대표


V12 Engine의 엔터프라이즈 버전도 내놓았나.

일단 클라우드 DB 서비스로 기술력을 검증받는 것에 중점을 둘 계획이다. 네이버 클라우드나 NHN엔터테인먼트의 TOAST Cloud, KT의 ucloud biz 등의 국내 퍼블릭 클라우드는 아직 완전관리형 DB 서비스를 제공하고 있지 않아서 이런 클라우드 업체들과 DB 운영 자동화 협력을 할 계획이다. 현재 아마존 클라우드 서비스도 MongoDB 자동화 서비스는 없다.


요즘 오픈소스 DBMS의 사용률이 상용 DBMS를 앞질렀다는 각종 자료가 나오고 있다. 왜 이런 현상이 나타난다고 보나.

두 가지 때문이라고 본다. 먼저 구글이나 아마존, 페이스북 등 초대형 인터넷 서비스 업체들이 리눅스나 MySQL 등 오픈소스 시스템 소프트웨어로 서비스를 안정적으로 유지하면서 성능을 검증했다는 점이다. 이 기업들은 이를 오픈소스로 공개하면서 기술 발전 속도가 상용 시스템 소프트웨어 업체들을 능가할 정도로 빨라졌다. 이런 영향으로 일반 기업에서 오픈소스 제품을 비즈니스에 속속 적용하면서 나타나는 현상으로 보고 있다. 거기에다 오픈소스는 일단 무료이지 않나. 또 하나의 이유는 최근에는 DBMS가 처리해야 하는 데이터의 형태가 다양해지고, 그 양이 폭발적으로 증가하고 있기 때문이다. 기존의 관계형 DBMS로는 이러한 데이터를 모두 처리하는 데 한계가 존재했고, 이에 대한 대안으로 NoSQL DB들이 등장하게 되었다. 시대의 흐름에 발맞추어 다양한 오픈소스 NoSQL DB들이 빠르게 등장한 것이 전체적인 오픈소스 DBMS의 사용률을 높이는 데 영향을 주었다. 전통적인 상용 DB 텃밭이던 금융권과 공공기관 시장에서도 이런 추세를 받아들이기 시작했다고 본다.


향후 계획은.

MongoDB 서비스를 안정화한 후 PostgreSQL 서비스와 MySQL 서비스를 순차적으로 오픈할 계획이다. PostgreSQL은 오라클과의 높은 호환성의 장점이 있지만 오라클보다 성능이 매우 떨어지는 것으로 알려졌다. 이 문제는 PostgreSQL에 V12 Engine을 적용하여 해결할 계획이다. 더불어 자체 물리 서버 위에서 DB를 운영중인 환경에서 DB 성능을 높이려는 고객도 적극적으로 찾아 나설 계획이다. <끝>


출처 : 한국데이터산업진흥원
제공 : 데이터 온에어 Dataonair.or.kr