[게임테크]"하둡보다 몽고DB 추천하는 이유"

일반입력 :2013/07/04 16:08    수정: 2013/07/04 16:13

특별취재팀

400개의 앱을 만들어 서비스하는 상황에서 가장 편리하게 로그를 분석하는 방법을 찾다보니 몽고DB를 선택하게 됐다

박현우 스마트스터디 최고기술책임자(CTO)는 4일 메가뉴스·게임스팟코리아가 주최한 '게임테크2013 컨퍼런스'에서 로그보관 분석 시스템에 대해 강연하며 이같이 말했다.

몽고DB는 분산처리기술 하둡과 함께 떠오른 NoSQL 데이터베이스(DB) 기술 중 하나다.

박 CTO는 스타트업 업체에서 간편한 로그분석은 생존의 필수 조건이라며 몽고DB를 추천하는 이유를 설명했다.

그는 2010년 스마트스터디를 창업하고 교육콘텐츠와 플랫폼을 제공하는 일을 시작으로 현재는 동영상 앱, 게임 앱 등 400개가 넘는 앱을 만들어 서비스하고 있다며 여느 스타트업 업체처럼 다양한 서비스를 시도하고 있지만 인력은 그에 비해 부족한 상황이라 효율적인 로그 분석은 기업 생존의 필수요소가 됐다고 말했다.

박 CTO가 몽고DB를 추천하는 이유는 다른 프로그램보다 여러 측면에서 '간편'하기 때문이다. 그는 다큐멘트 데이터베이스, 퍼포먼스, 보전성(Availability), 확장성 등 4가지 측면에서 몽고DB의 장점을 소개했다.

먼저 데이터 베이스 측면에서 아무 생각 없이 저장해도 일단 동작하고 프로그래밍 언어에서 쓰던 데이터의 형태 그대로 저장할 수 있는 것이 장점이라고 했다.

또 MySQL과 같은 RDB 시스템과 비교해서 테이블 스키마 즉 얼터 테이블이 없어 인덱스 추가와 변경이 백그라운드로 처리 가능하고, 콜렉션 내 데이터의 형식이 달라도 애플리케이션 레벨에서 알아서 사용할 수 있다고 했다.

퍼포먼스 측면에서도 경우에 따라 다르지만 결코 느리지 않다는 생각이다. 그는 메모리 맵 파일을 그냥 사용하는 것은 문제점이지만 메모리 용량 내에서는 페이지 폴트가 발생하기 전까지는 인-메모리 DB급 성능을 보인다고 말했다.

그는 몽고DB가 보전성측면에서도 상당히 안정적이라고 평가했다. 그는 과거의 마스터 슬레이브 리플리케이션 대신 3대 이상의 노드가 결합된 보다 안정적인 ReplicaSet을 지원한다고 설명했다.

확장성은 문서의 특정 필드를 샤 키(Shard key) 로 지정, N 대의 샤에 데이터를 분산 저장하고 조회나 통계 명령어를 경우에 따라 각 샤에서 나눠서 실행 가능하다고 말했다.

관련기사

단 샤 키로 지정된 필드의 값이 충분히 분산되지 않을 경우, 특정 샤에 데이터 (chunk)가 몰리는 현상이 생길 수 있으므로 이를 피하기 위해 MongoDB 2.4 부터 해시 샤딩(Hashed Sharding)을 지원하고 있다고 덧붙였다.

그는 몽고DB 제작사 10젠에서 공식 교육 프로그램이 존재하니 활용해 보라고 조언했다.