DBMS의 현재와 미래 (III) - 라이선스에서 서비스 시대로

2006-10-30     모가비
DBMS의 현재 추세를 보면 그 미래를 짐작할 수 있다. 몇 가지 분명한 추세를 보면 다음과 같다.

 

DBMS 기능의 포화: 지난 글(http://mogabi.bloter.net/_news/8df00a8f00920089)에서 살펴 본 바와 같이 대표적인 DBMS의 최근 릴리스의 기능 확장은 '오라클 따라잡기'로 볼 수 있고, 보다 중요한 것은 그 따라잡기가 2005년도 말을 기점으로 거의 완료되었다고 볼 수 있다. 오라클의 '도망가기'라고 할 수 있는 그리드 컴퓨팅은 그 적용 영역이 매우 제한적이고, 주요 부분 기술인 클러스터링 등은 경쟁사가 이미 따라잡은 상태이다. 따라서, 이제 DBMS의 기능은 포화되어 어디에서나 구할 수 있는, 소위 일상화(commodity)되었다고 할 수 있고, 더 이상 DBMS를 선택하는 기준이 되지 못하고 있다.

 

인터넷 서비스 DB 응용 급증: ERP, SCM, CRM 등으로 대표되는 DBMS의 각종 기업 응용이 빠르게 포화되어 가는 반면, 게임, 블로그, 게시판, 뉴스, UCC 등 인터넷 서비스 응용은 급증하고 있다. 지난 글(http://mogabi.bloter.net/_news/8df420b38feca8ea)에서 살펴 본 바와 같이 DBMS의 시장은 포화된 것이 아니라, 오히려 인터넷 서비스 응용을 중심으로 그 수요가 폭발적으로 늘어가고 있다.

 

공개/무료 DBMS의 급진전: MySQL, PostgreSQL로 대표되는 공개 DBMS가 인터넷 서비스 응용의 급성장과 맞물려 최근 수년 간 크게 확산되었다. 국내 개발자 커뮤니티의 질의/응답 (Q&A) 참여율을 토대로 한 개발자 확보율에서 MySQL은 이미 12%를 넘어서고 있다.(http://mogabi.bloter.net/_news/8df41e359c622677). 국산 무료 DBMS인 큐브리드도 무료 다운로드 개시 후 4개월 만에 4천 카피 다운로드를 기록하고 있다.

 

각 현상이 서로 무관하게 보일지 모르나, '인터넷 서비스 DB 응용이 급증'하면서, 그 수요를 채울 DBMS가 '기능의 포화'로 기능 중심 보다는 TCO (총소유비용) 중심으로 '공개/무료 DBMS'를 선택했던 것으로 볼 수 있다.

 

인터넷 서비스에서 필요로 하는 DBMS 요구사항은 기업 응용에 비하여 매우 선택적이고 집중적이다. 게임에서는 TPC 표준 벤치마크에서도 더 이상 관심이 없을 정도의 단순한 연산이지만 가공할 수준의 트랜잭션 성능을 요구한다. 게시판에서는 최적의 페이징 연산을 요구하고, 광고를 위해서는 임의추출(random sampling)이 가장 빈번한 연산이다. 블로그나 뉴스에서는 최근 자료의 접근빈도가 다른 자료에 비하여 월등하게 높다. 현재 출시된 어느 DBMS를 사용하여도 위의 연산들을 수행할 수는 있으나, 어느 제품도 이들 연산에 최적화되어 설계된 것은 아니다. 결국, 인터넷 서비스 DB 응용 개발에는 어느 제품이든 크게 다르지 않다는 뜻이다. 아래 그림은 각 DBMS의 기능 성숙도 대비 적용 응용을 나타낸 것이다. 항상 그렇듯이 노력 대비 성과는 ‘S’자 곡선을 갖는다. 기업응용 등 모든 측면에서의 기능 성숙도는 오라클이 가장 높으나, 인터넷 서비스 요구사항 측면에서는 네 가지 모두 만족스럽다고 할 수 있다.


 

그러면, 역으로, 앞으로 인터넷 서비스를 중심으로 한 DBMS 시장을 주도하기 위해서는 어떻게 해야 할까? 필자는 서비스 중심의 정책과 개발자 확보라고 본다.

 

서비스 중심의 정책

 

인터넷 서비스 분야에서 MySQL이 TCO 측면에서 선호된 것은 물론이지만, 앞에 거론한 '기능의 포화'로 인한 DBMS의 일상화는 극심한 가격 경쟁과 서비스 경쟁을 유발할 것이다. 마치, 미국의 응용 프로그래머가 일상화됨에 따라 가격/서비스 측면에서 경쟁력을 가지지 못하면 인도나 중국의 응용프로그래머에게 선택권을 뺏기는 것과 마찬가지이다. 가격 정책은 이미 공개/무료 DBMS의 급성장을 통하여 검증된 방향이라 볼 수 있다. 하지만, 서비스 분야는 이제 시작으로 보인다. 특히, 호텔, 리테일, 항공 등 서비스 위주의 다른 산업 영역에 비하여 DBMS를 비롯한 소프트웨어 서비스는 아직 걸음마 수준이다. 예를 들어, 월마트와 같은 대형 리테일에서 고객이 제품이나 서비스에 만족하지 않았을 경우, 이에 대한 서비스 오류 복구 방법은 이미 서비스 프로세스에 잘 정형화되어 있으나, 소프트웨어 서비스의 오류 처리는 복구보다는 단순한 사후대처 수준이다. 모든 벤더들이 제품을 개발하는 프로세스는 잘 갖추고 있으나, '서비스 제품'을 개발하는 프로세스는 상대적으로 열악하다. 이런 측면에서 최근에 IBM이 주요 대학을 대상으로 추진하고 있는 '서비스 사이언스'학과 개설 움직임은 매우 바람직한 현상으로 보인다 (관련기사: http://www.etnews.co.kr/news/detail.html?id=200609220058).

 

개발자 확보 정책

 

수년 전 MS의 MSN팀과 업무 협의를 하면서 놀란 것이 있다. MSN에서 인터넷 서비스를 기획하여 개발, 릴리스 하는 데에 평균 6주가 걸린다는 것이었다. SI 위주의 국내 소프트웨어 개발 환경에서는 상상하기 힘든 순발력이라 할 수 있다. 인터넷 서비스에서는 변화하는 고객의 요구사항을 적시에 반영하는 것이 필수이고, 이를 위해서는 개발자의 순발력(agility)이 생명력이라는 점이다. 하나의 릴리스마다 관리자 중심의 의사 결정 방식은 이미 늦다는 것이다. 이러한 이유로 개발자들이 새로운 오피니언 리더로 등장하게 되었다. 



개발자가 오피니언 리더로 활동하는 시대에는 준거 사이트 확보 보다 개발자 확보가 훨씬 중요하게 된다. 개발자들은 인터넷 커뮤니티를 중심으로 업무별, 서비스 유형별로 정형화된 오피니언을 형성하고 있다. 한 예로 게시판 업무의 경우, 웹서버는 아파치(Apache), 개발언어는 PHP, DBMS는 MySQL로 오피니언이 형성되어 있다. 참고로, 국내에도 JCO를 비롯하여 10여 개의 굵직한 개발자 커뮤니티가 왕성하게 활동 중이고, 참여 개발자 규모는 15만 명을 넘는 추산되고 있다. 최근 자료는 아니지만 국내 개발자 커뮤니티 정보는 http://www.dbguide.net/know/know101003.jsp?IDX=905&pg=1&catenum=14에 잘 정리되어 있다.

 

그러면, 각 DBMS 벤더들은 위와 같은 정책을 위하여 무엇을 준비하고 있는가? 오라클과 MS는 현재 라이센스 매출 비중이 크기 때문에 서비스 정책으로의 전환은 당분간 기대할 수 없을 것으로 보인다. 따라서, 인터넷 서비스 분야를 공략하는 것은 제한적인 노력일 수 밖에 없다. 오라클은 작년에 MySQL의 저장엔진을 공급해온 InnBase를 인수해버렸다.(http://www.oracle.com/corporate/press/2005_oct/inno.html). 



올해 말까지는 InnBase와 공급계약이 유효하지만, 그 이후에는 어떻게 될지 모르는 판이다. 분명한 것은 MySQL의 8백만 카피를 오라클 고객으로 전환하기 위한 가장 효과적인 조치라는 것이다. 다분히 오라클 다운 공격방법으로 보인다. 오라클과 MS는 개발자를 확보하기 위하여 각각 익스프레스 버전을 출시하였으나 DB 최대 크기가 4G 바이트로 제한되어 있거나 CPU 등에 제약이 있어 사실상 업무에 적용하는 것은 무리가 있어 그 효과는 미미할 것으로 보인다.

 

MySQL은 최근에 커뮤니티 버전과 상용 버전을 분리하면서 상용버전의 경우 서비스 구매를 의무화하였다. 이미 개발자가 충분히 확보되었다는 전제에서 뿌려놓은 씨를 수확하자는 전략으로 보인다. 그러나, 이 정책은 일부 개발자들로 반발을 사고 있고, 이들은 PostgreSQL 등 다른 공개 DBMS나 국내의 경우 큐브리드와 같은 무료 DBMS로 전향하는 현상을 보이고 있다.

 

큐브리드는 그 동안 개발자 확보에 진입장벽으로 작용해온 라이센스 정책을 과감하게 포기하였다. 이는 개발자 확보를 위한 조치임과 동시에 '서비스 시대'로의 이전에 전향적으로 대응하기 위함이었다. NHN과 공동개발을 통하여 제품을 인터넷 서비스 요구사항에 최적화하고, 공개 SW 참여, 개발자 매니아 육성 프로그램 등을 통하여 국내 개발자를 확보하고, 큐브리드 링크 서비스 등 차세대 서비스를 개발하여 앞으로 다가오는 '서비스', '개발자' 중심의 DBMS 시대를 준비한다는 전략이다.