몽고DB “레거시 현대화, 데이터베이스 혁신 필수”

우리가 흔히 데이터베이스관리시스템(DBMS)라고 이야기를 하면 관계형 DBMS(이하 RDB)를 생각한다. 데이터를 테이블 형태로 저장하고, 테이블의 결합을 통해서 데이터를 표현하는 것이 RDB다. 개발자들은 주로 SQL이라는 문법을 활용해 RDB에 있는 데이터를 읽고 쓴다.

RDB는 성능과 안정성 면에서 검증받아 많이 활용되고 있지만 단점도 많다. 시스템이 커질수록 매우 복잡해지고 비용이 많이 들어가며  스키마 때문에 데이터가 유연하지 못하고 데이터 분석에 적합하지 않다는 평가도 받는다.

이 때문에 빅데이터의 등장과 함께 NoSQL이라는 키워드가 인기를 끌기 시작했다. NoSQL은 RDB와 SQL 아닌 방식으로 데이터를 관리하는 방법론을 총칭하는 말이다. NoSQL에는 다양한 접근법이 있는데, 그 중에서 가장 유명한 것은 몽고DB다. 몽고DB는 흔히 도큐먼트DB라고 부른다. 도큐먼트DB는 JSON과 비슷한 형식의 문서로 데이터를 저장하고 질의하도록 설계된 DB다. 도큐먼트DB를 사용하면 개발자들은 자신의 애플리케이션 코드에서 사용하는 것과 동일한 다큐먼트 모델 형식을 사용해 데이터를 활용할 수 있다.

지난 6월 24일 개최된 바이라인플러스 웨비나에서는 ‘RDBMS에서 몽고DB로의 대체 전략과 사례’라는 주제로 몽고DB코리아 김준 상무가 발표를 했다.

김 상무는 이 자리에서 “현재 기업들은 데이터 중복과 이동에 많은 자원을 소비하고 있고, 시스템이 복잡해지면서 데이터베이스도 복잡해져서 운영비용이 증가하고 있다”고 지적하면서 “레거시 모델을 현대화해야 한다”고 강조했다.

그에 따르면 레거시 현대화란, 조직-아키텍처-플랫폼을 새롭게 하는 것이다. 기존의 모놀리틱 아키텍처에서 마이크로서비스아키텍처(MSA) 등 새로운 아키텍처를 도입하거나, 데이터센터에서 클라우드로 플랫폼을 이전하는 것이 대표적이다.

그는 레거시 현대화를 위해 무엇보다 중요한 것은 데이터 플랫폼라고 강조했다. 만약 레거시 현대화를 위해 클라우드를 도입한다고해도 기존의 시스템을 그대로 클라우드 상의 가상 서버로 옮긴다면 본질적인 레거시 현대화와는 거리가 있다는 것이다. 클라우드의 특성상 민첩성은 증가하겠지만 특정 클라우드 락인이나 복잡성은 오히려 증가한다고 김 상무는 지적했다.

진정한 레거시 현대화를 위해서는 데이터 플랫폼 혁신이 필수적이라고, 몽고DB가 가장 그에 적합하다는 것이 그의 주장이다.

김 상무는 몽고DB는 “여러 프로그램에 대한 투명성을 통한 애플리케이션의 현대화, 빠른 변경, 유연한 모델을 지원하며 데이터 중복, 분리 혹은 제거, 통합을 위한 특별한 데이터베이스가 필요 없다”고 설명했다.

예를 들어 최근 클라우드 네이티브의 확산으로 하루에도 수십 번씩 애플리케이션 배포가 이뤄지고 있는데 기존의 RDB를 사용하게 되면 개발팀이 코드를 바꿨다고 해도 RDB에서 테이블을 변경했다면 운영에 곧바로 적용할 수 없다. 기존 서비스에 영향을 주면 안 되기 때문에 새벽시간 이용자가 없을 시간을 틈타 새로운 배포를 적용할 수밖에 없다.

김 상무는 “몽고DB를 이용하면 이런 부분에서 탈피할 수 있으며 SQL에 의존하지 않고 몽고DB가 제공하는 API를 통해서 데이터를 쉽게 엑세스 할 수 있다”고 덧붙였다.

그는 한 통신사의 사례를 들어 설명했다. 이 통신사는 상담내역을 RDB에 저장하고 있었는데 이 상담내역을 보는 데 많은 제약이 있었다. 데이터 사이즈가 워낙 크다보니까 이전의 데이터를 보겠다고 하면 너무 시간이 오래 걸려서 볼 수 없는 문제가 있었다. 이 때문에  데이터 열람의 기간이나 열람부서를 한정시켰다.

이 통신사는 이 데이터를 고객상담실에서 언제든, 얼마나 오래된 데이터든 보면서 상담할 수 있도록 하고 싶었다. 또 이용자도 모바일에서 자신의 상담 내역을 확인하도록 하고자 했다. 고객서비스(CS)를 넘어 마케팅이나 고객관리 면에서 이 데이터를 활용하려는 계획도 있었다.

이를 위해 데이터를 RDB에서 몽고DB로 마이그레이션 했다. 처음에는 신규 서비스에 몽고DB로 적용하는 식으로 시작했는데, 효과를 확인하고 결과적으로 기존 RDB를 걷어내고 몽고DB로 여러 서비스를 개발했다고 김 상무는 전했다. 또 RDB 라이선스와 유지보수비를 줄이고, 특정 애플리케이션 솔루션에 묶이는 현상도 극복할 수 있었다고 한다.

김 상무는 “몽고DB라는 다큐먼트DB로 RDB를 대체하면 레거시 현대화를 할 수 있다”면서 몽고DB는 그래프DB, 키밸류DB, 시계열DB 등도 커버할 수 있는 동시에 AWS, 애저, GCP 등 멀티 클라우드에 동시에 배치할 있다”고 강조했다.

글. 바이라인네트워크
<심재석 기자>shimsky@byline.network

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다