5. 오픈소스 News

메조미디어 – 공개SW 기반 인메모리 시스템 구축

OSSW(Open Source System SoftWare 2014. 9. 29. 11:04

인메모리 기반 데이터베이스 및 분산처리 구조로 실시간 분석 가능

메조미디어는 국내 디지털 마케팅 미디어렙으로 소셜네트워크 상의 빅데이터의 분석 및 가공과 인사이트에 대한 필요성에 대해 한 발 빠르게 준비한 결과 SNS의 영향력자 및 감정 분석 등의 특허 기술을 기반의 소셜 분석 솔루션 티버즈(TIBUZZ)를 개발해 서비스하고 있다.
메조미디어는 SNS 상 수집 데이터 양 증가로 분석되는 데이터가 늘어나 솔루션의 고도화가 필요하게 됐다. 이에 기본 공개SW 기반으로 만들어진 티버즈 솔루션에 메모리 DBMS인 레디스와 래빗엠큐와 분산처리를 위한 주키퍼를 추가로 도입했다.


- 기 관 : 메조미디어
- 수행년도 : 2014년
- 도입배경 : 데이터 수집량 증가에 따른 티버즈 솔루션 고도화
- 솔 루 션 : RabbitMQ(래빗엠큐), Redis(레디스), MongoDB(몽고디비), Apache Solr(아파치 솔라), Apache ZooKeeper(아파치 주키퍼)
- 도입효과 : 기하급수적으로 늘어나는 데이터를 실시간으로 수집·분석하기 위해 인메모리 데이터베이스 공개SW인 레디스를 도입해 빠른 처리가 가능해졌으며, 래빗엠큐와 아파치 주키퍼 도입으로 분산처리 및 모니터링 기능도 추가

메조미디어는 국내 디지털 마케팅 미디어렙으로 삼성, LG, 현대자동차를 비롯한 국내 외 250여 개 이상의 클라이언트들의 디지털 마케팅을 담당하고 있다. 100여 개 이상의 국내 주요 온라인 매체와의 협력을 통해, 클라이언트의 캠페인에 가장 적합한 매체들로 구성한 가장 효율적인 매체안을 통해 최고의 결과를 창출한다는 모토로 사업을 영위중에 있다.

 

메조미디어는 디스플레이 광고뿐만 아니라 VOD/IPTV, SEO/SEM 등과 같은 다양한 디지털 마케팅 분야의 전문성을 자랑한다. 특히 방송통신위원회 인증 1호 모바일 광고 플랫폼이자 3만여개 이상의 국내외 모바일 웹과 앱으로 구성된 자체 모바일 광고 네트워크 맨(MAN:MezzoMedia Mobile Ad Network)을 포함한 모바일 광고 분야에 특화된 서비스를 제공하고 있다. 또한, 지난 2012년 CJ E&M과의 인수합병을 통해 CJ의 디지털 마케팅 및 CJ E&M의 다양한 방송광고 상품을 결합해 통합광고 상품을 선보이고 있다.

 

특히 소셜네트워크 상의 빅데이터의 분석 및 가공과 인사이트 필요성에 대해 한 발 빠르게 준비한 결과 SNS의 영향력자 및 감정 분석 등의 특허를 기반으로한 소셜 분석 솔루션 티버즈(TIBUZZ)를 개발해 서비스하고 있다.

 

최상의 결과물을 얻기 위해 솔루션 고도화 추진

메조미디어의 소셜 분석 솔루션 티버즈는 트위터를 비롯해 페이스북, 블로그 등에서 데이터를 수집해 유의미한 분석 결과를 낸다.
티버즈의 초기 솔루션은 몽고DB와 아파치 솔라를 바탕으로 파일럿 형태로 구성됐다. 그동안 검색 결과나 통계 수치 등을 데이터베이스 단에서 작업을 해서 가져오는 방식이었으나 데이터 수집량이 늘어나 디스크 IO에 부하가 걸리게 되면서 분석 시간이 늘어나게 됐다. 이에 메조미디어는 티버즈 고도화를 검토하게 된 것이다.

 


▲ 티버즈 분석 결과 화면

 

메조미디어 측은 우선 인메모리 상에 데이터를 직접 올려 실시간으로 분석 작업을 할 수 있도록 검토했다. 이에 공개SW 중 레디스와 맴캐시드(Memcached)가 상용SW 중 오라클의 타임스텐과 알티베이스의 알티베이스 HDB가 고려 대상 명단에 올랐다. 그러나 비용문제를 이유로 타임스텐과 알티베이스는 1차 제외됐으며, 레디스와 맴캐시드를 비교한 결과 티버즈 솔루션에 사용하기 가장 적합한 데이터베이스로 레디스가 낙점됐다.

또한 메조미디어는 레디스의 특징인 1번에 1개의 명령어를 실행할 수 있는 싱글 쓰레드라는 점을 상쇄시켜주기 위해 메시지 쿼리 시스템으로 래빗엠큐을 비롯한 제로엠큐(ZeroMQ) 액티브엠큐(ActiveMQ), Qpid 등을 검토했지만 결국 래빗엠큐를 도입했다.

 

아파치 주키퍼는 티버즈 내 분산처리된 시스템의 모니터링 역할을 하고 있다. 그동안 티버즈는 각 서버마다 데이터베이스 테이블 상태값을 만들어 주기적으로 확인했었는데, 주키퍼 도입으로 데이터 공유는 물론 모니터링도 용이하게 되었다.

또한 메조미디어는 실시간으로 감정분석이나 연관어 분석을 30분 이내로 보장하려고 한다. 이를 위해 레디스와 래빗엠큐를 통해 분산처리를 하면서 속도 개선을 하고 있으며, 시스템 증설도 이뤄지고 있다. 현재 메조미디어는 레디스 서버 100여대를 보유하고 있으며 각 서버당 48코어, 128~192GB를 사용하고 있다.

 


▲ 티버즈 시스템 구성도

 

내부학습을 통한 역량 강화

메조미디어가 티버즈 솔루션 고도화를 위해 처음부터 도입할 공개SW를 정해놓진 않았다.
티버즈에 맞는 소프트웨어를 찾기 위해 구글 검색으로 사용자들이 올린 사용기를 많이 참조했다. 주로 쉽게 찾을 수 있는 소프트웨어가 공개SW 위주였다.

 

사용자들의 평가가 좋은 공개SW 위주로 내부 직원들이 학습하면서 티버즈와 최적화 방안에 대해 연구하기 시작했다. 상용SW에 비해 매뉴얼이 구체적이진 않았지만 검색을 통해서 쉽게 정보를 습득할 수 있어서 이해하는데 어렵지는 않았다.

 

현재 메조미디어 SNS플랫폼사업본부 내 개발인력은 5명으로 몽고DB와 레디스, 주키퍼를 전담으로 맡고 있는 한 명의 직원과 솔라를 전담하고 있는 전담 인원 한 명이 있다. 그 외 3명은 몽고DB, 레디스, 주키퍼, 솔라 등을 같이 학습하면서 업무에 적용하는 역할을 하고 있다.

 

실시간 분석을 위해 하둡 전향 고려

메조미디어는 이처럼 티버즈를 고도화하긴 했지만 기하급수적으로 데이터가 늘어남에 다라 이에 맞춰서 물리적인 서버를 증설하고 있다. 이에 대안을 찾기 위해 하둡을 검토하고 있다. 현재 메조미디어 측에서 수집하고 있는 데이터 수집량은 11억 건에 육박하는데 시스템 증설만으로는 현실적으로 한계가 있다. 또한 실시간 분석이라는 관점에서도 현재 시스템 구성에서 벗어나 하둡으로 전향을 검토했으며, 이를 위해 내부 학습을 시작했다.


 

[인터뷰]


“상용SW 도입으로 무리한 투자 할 필요 없어”

심명섭 메조미디어 SNS플랫폼사업본부 본부장

 

심명섭 메조미디어 SNS플랫폼사업본부 본부장

상용SW가 아닌 공개SW를 도입하게 된 계기는?

가장 우선순위는 비용이다. 신규 사업인 만큼 무리한 투자를 지양하는데 상용SW 도입은 비용 초과로 이어진다. 또한 상용SW는 소스코드가 공개되지 않아 티버즈에 자체적으로 최적화하기가 어렵다는 점도 상용SW이 아닌 공개SW를 선택한 이유다.
과거 공개SW가 소스코드 공개라는 이유로 보안에 취약하다는 점이 지적되기도 했지만 최근 그런 우려는 사라지고 반대로 여러 사람들이 기능 개선에 참여해 상용SW 못지않은 성능을 가지고 있다고 생각한다.

 

공개SW 도입 후 어려운 점은?

공개SW 도입 후 가장 막막할 경우는 오류 발생 시 이와 유사한 사례가 없을 때다. 구글링이나 커뮤니티를 통해서 기존에 알려진 상태에 대해서는 비교적 쉽게 정보를 얻어 대처가 가능하지만 사례가 없는 경우 속수무책이다. 심지어 소스코드까지 다시 검수해야 한는 상황이 문제다. 이런 부분이 아쉽고 어렵다.

 

공개SW 도입 시 주의해야 할 점은?

최근 공개SW 도입이 활발해지고 있지만 불특정 다수 서비스로 사용할 때는 성능이 보장이 안 된다는 점을 명시해야 한다. 공개SW를 도입할 때 보통 시행착오를 겪으면서 내부 인력들의 실력이 쌓이고 이 실력이 내부 시스템의 최적화로 이어진다. 그러나 초기부터 이 같은 과정을 밟게 되면 시간과 비용이 너무나 크게 소모된다. 차라리 초기에는 전문가 도움을 받아서 빠르고 쉽게 구축한 후 고도화 과정에서 시행착오를 겪는 것이 여러모로 도움이 된다.

- 공개SW 역량프라자

 

황석 http://www.oss.kr/oss_repository10/549588