몽고DB, 어디로 가는가

컴퓨팅입력 :2016/07/12 17:04    수정: 2016/07/12 17:04

NoSQL의 선두주자 중 하나였던 몽고DB는 최근 들어 큰 변화를 겪고 있다. 새로운 임원진이 몽고DB 회사를 이끌기 시작한 뒤로 새로운 아키텍처를 도입했고 엔터프라이즈 DB시장 진입에 힘쓰는 모습이다.

최근 미국 지디넷의 토니 베어 컬럼니스트는 몽고DB의 가능성을 분석한 기고문을 게재했다.

2007년 설립된 몽고DB사는 설립 당시만 해도 마이SQL 수준으로 몽고DB를 성장시킬 것으로 보였다. 몽고DB는 JSON 문서 포맷을 사용해 단순하고 개발자 친화적인 데이터베이스로 주목받았다.

단순함과 유연한 스키마를 통해 몽고DB는 오라클, SQL서버, 마이SQL에 이은 4번째로 많이 쓰이는 DB로 성장했다.

그러나 몽고DB를 키우는데 일조했던 단순함은 양날의검으로 작용했다. 확장 시 쓰기 성능이 저하되고, 읽기 성능이 최적화되지 않은 샤딩 영향을 받아 좋지 않았다. 카우치베이스, 레디스, 카산드라, H베이스 같은 경쟁 NoSQL 기술은 빠른 쓰기 성능을 보인다.

성능 문제는 해결돼갔다. 하지만 몽고DB가 대중화될수록 광범위한 커뮤니티와 최종사용자를 지원해야 하는 문제에 직면했다. 자바스크립트와 JSON에 익숙한 인터넷 개발자는 몽고DB에 환호했지만, 전통적인 SQL시장에선 몽고DB를 어색하게 여겼다.

결과적으로 NoSQL의 가장 큰 커뮤니티를 이뤘던 하둡 진영은 SQL을 사용하기 위해 하이브에 투자했고, SQL온하둡 기술을 만들었다.

몽고DB 디자인 철학

몽고DB는 이후 커넥티드카, 서비스 파견 등의 미션크리티컬 애플리케이션에서 여러 사례를 만들어냈다. 이를 통해 몽고DB는 엔터프라이즈 수준의 보안성, 신뢰할 만한 SLA, 클라우드 준비성, 그래프 등 새로운 쿼리 포맷 채택 등의 요구에 직면했다.

1년전 몽고DB는 새로운 임원진을 꾸렸고, 스토리지 엔진에서 DB 엔진을 분리하는 새로운 아키텍처를 도입했다. 마이SQL 모델을 취한 것이다.

와이어드타이거(WiredTiger)는 몽고DB의 새로운 기본 스토리지 엔진이다. 이 엔진은 높은 쓰기 성능을 제공하고, 압축을 기본내장해 더 적은 스토리지 비용을 들이게 해준다. 지난 1년 사이 별개의 인메모리와 암호화 데이터스토어를 추가했다.

몽고DB는 스파크 커넥터를 제공해 대용량 인메모리 분석을 지원하게 됐다. 컬럼 데이터스토어를 추가할 수도 있고, 스트리밍 데이터도 활용할 수 있다.

몽고DB의 사업은 오픈소스 DB에 다양한 부가기능을 제공하는 서브스크립션 모델을 중심에 둔다. BI, 매니지먼트 콘솔, DBA툴, 인메모리 및 암호화 스토리지 엔진, 사용자 인증, 접근제어 등의 기능이 엔터프라이즈용 제품에 제공된다.

클라우드 기반 DB서비스도 제공중이다. 아마존웹서비스(AWS), 마이크로소프트 애저, 구글클라우드플랫폼 등을 통해 몽고DB를 이용할 수 있다. 제3자 파트너의 서비스도 이용가능하다. IBM의 콤포즈(Compose), 랙스페이스의 오브젝트로켓, mLab 같은 서비스다.

몽고DB 자체적으로 제공하는 클라우드 서비스도 있다. 몽고DB 아틀라스(Atlas)는 서비스형 DB(DBaaS)로 최근 서비스를 시작했다. 몽고DB 측은 대규모 설치 환경에서 더 합리적인 가격, 더 광범위한 재해복구 옵션, 최신 버전 상시 유지 등을 강점으로 내세운다.

몽고DB 스토리지엔진

스토리지로 돌아가보자. 데이터베이스에 확장을 붙이게 하는 시도는 몽고DB뿐 아니라 수많은 DB에서도 일어나고 있다. 오라클, IBM DB2, MS SQL서버, 테라데이타 등 상용업체는 인메모리, JSON, 그래프, 컬럼 스토어 등을 쓸 수 있게 했다. 쿼리엔진을 확장하거나 새로운 스토리지 엔진을 엮는 방식을 사용했다. DB는 아니지만 하둡의 경우 여러 확장을 붙일 수 있다. NoSQL도 카우치베이스, 데이터스택스, 레디스 등이 SQL쿼리를 지원한다. 모두 보안 기능을 꾸준히 향상시키고 있으며, 사용자인증과 접근제어에 투자하고 있다. DB 시장이 대동소이한 움직임을 보이는 것이다.

물론 이같은 흐름이 모든 제품을 다 같은 것으로 만들지 않는다. 각 제품과 기술마다 강점과 약점을 보이는 영역이 있다.

몽고DB는 새로운 워크로드에 적절하다. 워크로드는 단순한 숫자세기부터 복잡한 데이터 처리 프로세스 등 다양하다. 몽고DB의 강점은 복잡한 데이터를 처리하는데 있다. 기존 강자도 이같은 워크로드를 노리지만, JSON 데이터만 소비하려는 워크로드에 오라클을 사용할 이유는 없다. 오라클은 현재의 CRM 애플리케이션을 확장하거나 고객 프로필 데이터를 JSON포맷으로 처리하는 경우에 어울린다.

관련기사

몽고DB가 개발자 친화적인 DB란 점도 여전한 강점이다. 스플렁크의 팬덤은 개발자층에 기반을 두며, MS를 엔터프라이즈 애플리케이션에서 힘을 발휘하게 하는 큰 축도 비주얼베이직에서 성장했다.

몽고DB는 클라우드와 분석 및 데이터 시각화 영역에서 의미있는 성과를 만들려 시도하고 있다. 자체 클라우드 서비스는 고객을 더 붙잡아둘 것이고, 다양한 BI커넥터와 분석 애플리케이션 연동은 더 많은 이용자를 끌어들일 수 있을 것이다.