블로그 이미지
OSSW(Open Source System SoftWare

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Notice

2014.09.29 11:04 4. 오픈소스 News

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

메조미디어는 국내 디지털 마케팅 미디어렙으로 소셜네트워크 상의 빅데이터의 분석 및 가공과 인사이트에 대한 필요성에 대해 한 발 빠르게 준비한 결과 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 

posted by DB,MW,OS OSSW(Open Source System SoftWare
2014.09.29 11:01 4. 오픈소스 News
月 4억뷰 대형 커뮤니티, SLR클럽의 숨겨진 힘

매일 이 커뮤니티를 방문하는 회원 수만 따져 봐도 15∼20만 명이 넘는다. 월 페이지뷰는 평균 4억이 넘는다. SLR클럽은 지난 2000년 설립 이후 디지털, SLR카메라와 사진 분야에서 14년째 독보적인 위치를 점하고 있다. 국내 전체 사이트 순위를 따져 봐도 SLR클럽은 80∼100위 수준. 대한민국 TOP100 안에 들만큼 수많은 방문자가 이곳을 찾는다. 국내 대표 커뮤니티 가운데 하나인 SLR클럽의 또 다른 특징은 사이트 내 시스템 전체가 거대한 공개SW로 이뤄진 곳이라는 점이다.

- 기 관 : 인비전커뮤니티
- 수행년도 : 2004년 2월∼2005년 2월(1년)
- 도입배경 : 리눅스 기반 PHP와 MySQL 등으로 바탕으로 초기 커뮤니티 구축. 이후 마리아DB 등 꾸준히 공개SW를 바탕으로 한 성능 향상 꾀함. 대형 커뮤니티에 최적화된 공개SW 기반 기술을 자체 개발
- 솔 루 션 : PowerDNS(파워DNS), Nginx(엔진엑스), HAProxy(HA프록시), Asterisk(애스테리스크), MySQL(마이SQL), MariaDB(마리아DB), Memcached(멤캐시드)
- 도입효과 : 마리아DB와 클러스터링 기술 도입, 샤딩 분산 처리 등을 통해 동일 하드웨어 자원에서 대용량 데이터 처리를 더 원활하게 함. DB 보안 솔루션도 공개SW 기반으로 제작, 보안 향상

SLR클럽에는 하루에도 수많은 콘텐츠가 올라온다. 하루 게시물 수만 해도 많을 때에는 8만 개에 달한다. 사진은 1만 5,000장이나 된다. 초대형 커뮤니티인 만큼 안정성과 보안 등 챙겨야 할 것이 많다. SLR클럽을 운영 중인 (주)인비전커뮤니티 CTO를 맡고 있는 오명오 이사는 이 모든 과정은 모두 공개SW로 해결한다고 말한다.

 

월 4억뷰 초대형 커뮤니티 ‘심장은 공개SW’

2012년 이후부터는 해외 사용자도 꾸준히 늘어 2012년 전체 방문객 중 4%였던 해외 방문자는 올해 들어선 7∼8%로 거의 2배 가량 높아졌다. 이런 이유에서인지 SLR클럽의 내부 구조는 국내웹과 외국 사용자를 대상으로 한 중계서버 시스템으로 나뉘어져 있다.

 

시스템 구성은 모두 공개SW. 먼저 공개SW 도메인 서버로는 파워DNS(PowerDNS)를 이용한다. C++로 만든 DNS 서버 시스템으로 무료로 이용할 수 있다. 이를 거치면 공개SW 웹 서버 소프트웨어인 엔진엑스(Nginx)로 연결된다. 엔진엑스는 가볍지만 높은 성능을 내는 웹서버 공개SW로 웹서버와 리버스 프록시, 메일 프록시 같은 기능을 갖추고 있다. 이미 검증된 소프트웨어이기도 하다. 넷크래프트가 지난 2011년 조사한 바에 따르면 엔진엑스는 전체 도메인 중 7.5%, 4번째로 가장 많이 쓰이는 웹서버로 꼽히기도 했다.

 

이 과정을 거치게 되면 공개SW 로드밸런서인 하프록시(HAProxy)를 이용하게 된다. 하프록시는 공개SW 기반 로드밸런서도 뛰어난 성능을 인정받고 있다. 대규모 트래픽을 소화하는 데에도 유리하다. 국내에 위치한 서버에 접근하는 사용자와 달리 갈수록 늘어나는 해외 사용자를 대상으로는 기본 구조는 같지만 조금 더한 게 있다. 파워DNS에 해외 사용자를 구분하는 동시에 도메인 로드밸런서 역할을 하는 GEO+GSLB를 공개SW를 기반 삼아 자체 개발해 적용했다. 또 북미 서버와 국내 데이터 캐싱 부하 분산을 위해 엔진엑스와 하프록시를 이용한다. 이런 중계서버를 거쳐 국내로 연결하는 애플리케이션을 L7 스위치 대용으로 쓰는 것. 모든 과정을 거치면 하프록시 로드밸런서를 통해 PHP 애플리케이션과 만나게 된다.

 

데이터베이스는 2000년 처음 SLR클럽을 열 당시만 해도 MySQL를 썼지만 지난 2010년 마리아DB(MariaDB)로 바꿨다. MySQL에서 마리아DB로 바꾼 이유는 몇 가지가 있다. 가장 문제가 됐던 것 가운데 하나는 피드백이나 수정 사항 반영이 너무 늦다는 것. 지난 2005년 버그 관련 이메일을 보냈지만 답변은 황당하게도 4년이 지난 2009년 날라 왔다고 한다. SLR클럽은 이미 몇 년 전 자체적으로 해결해서 쓰는 상황이었다.

 

기술적 문제도 있었다. 마이SQL은 데이터를 주로 메모리에 올려야 하는 탓에 메모리 요구량이 많을 수밖에 없었다. SLR클럽의 경우 DB 서버에 들어가는 메모리 용량은 700GB. 그런데 마이SQL을 이용해 클러스터링을 구축하려면 대당 메모리가 250GB인 서버 10대는 필요하다.

 

하지만 마리아DB는 갈레라 클러스터(Galera Cluster)를 지원한다. 오 이사는 “마리아DB의 강세는 서버 자체에 있다”면서 갈레라 클러스터를 이용해 배포를 단순화하고 고가용성이라는 점, 덕분에 대용량 서비스에 훨씬 유리하다고 밝혔다.

 

SLR클럽은 여기에 샤딩(Sharding) 기능도 함께 진행한다. 마리아DB를 선택하는 이유 가운데 하나로 꼽히는 기술로 소프트웨어적으로 데이터베이스를 분산 처리할 수 있게 해주는 것이다. 한정된 자원에서 대형 서비스를 분산 처리해 퍼포먼스를 높이기 위해 마리아DB로의 전환을 진행했다는 얘기다. SLR클럽은 여기에 작은 크기 데이터를 메모리에 올려놔서 빠른 속도를 제공할 수 있는 Memcached도 함께 이용하고 있다.

 


▲ SLR클럽 공개SW 서비스 구조도

 

커뮤니티 14년 노하우 담은 플랫폼 준비중

SLR클럽 내부 개발팀은 공개SW를 즐겨 이용한다. 오 이사는 SLR클럽의 경우 공개SW를 단순하게 사용하는 것 뿐 아니라 GSLB에서 알 수 있듯 공개SW를 기반으로 해 직접 개발하기도 한다. 공개SW를 쓰면서 피드백도 적극적이다. 수정 사항은 적극적으로 반영해 지금까지 SLR클럽이 공개SW 개선사항으로 올린 것만 해도 100∼200회에 달한다는 설명이다.

 

오 이사는 공개SW의 장점으로 수많은 사용자가 쓰다 보니 안정적이라는 점을 강조한다. 물론 잘 만든 상용 소프트웨어도 있지만 한 업체가 전문 레벨까지 만들면 좋겠지만 생각처럼 그렇지 않은 경우가 많고 어떤 면에선 오히려 불안한 경우도 많다는 것이다. “예를 들어 마이크로소프트 윈도만 봐도 그렇죠. 2003년 정도까지만 해도 결함 덩어리였다고 해도 과언이 아니었으니 말이죠.”

 

반면 리눅스는 같은 문제가 초기에는 있었더라도 소스 자체가 오픈되어 있다 보니 수많은 사용자가 퍼포먼스 튜닝을 진행해 결국은 해결이 된다. 오 이사는 이렇게 소스가 공개되어 있는 경우가 오히려 더 외부 보안 공격 같은 것에도 더 안전한 경우가 많다고 설명한다. 예를 들어 윈도나 익스플로러 같은 경우에는 소스가 오픈되어 있지 않아 보안 문제가 발생하는 걸 해커가 공개하거나 마이크로소프트가 알려주지 않는 한 알 방법이 없다. 이에 비해 공개SW는 이런 문제점이 더 빨리 외부로 알려지고 해결도 된다는 것이다.

 

오 이사는 이런 점을 강조하듯 공개SW로 모두 이뤄진 SLR클럽이지만 “지금까지 14년 동안 한 번도 (외부 해커 등에 의해) 해킹당한 적이 없다”고 말한다. 디도스 공세가 심하던 시절에는 좀비PC를 통한 공격이 문제였는데 당시에는 화이트리스트 시스템을 자체 구축해 이전 3주간 방문 IP를 비교 체크하는 등 외부 공격을 방어했다. 그 뿐 아니라 보안 솔루션도 공개SW를 기반 삼아 내부에서 직접 개발했다. 물론 웬만해선 안 뚫리지만 얼마 전에는 중국 해커 2명이 서버에 잠입하기도 했다. 하지만 내부 개발팀은 침입 루트를 확인하기 위해 일부러 내버려둔 것이다. 진원지를 역탐하기 위한 것. 이들은 물론 내부에서 아무 것도 가져가지 못했다.

 


▲ SLR클럽 웹사이트

 

이유는 DB 보안 솔루션 때문이다. 오 이사는 지난 2006년에는 DB 보안 솔루션을 자체 개발해 SLR클럽에 적용했다고 설명했다. 당초 개인 정보 사업을 고려한 것이었지만 당시만 해도 지금처럼 보안에 대한 인식이 국내에선 없었다고 한다. 오 이사는 이런 DB 보안 솔루션은 아마 국내에선 처음일 것이라고 덧붙였다.

 

DB 보안 솔루션은 물리적인 서버 내 자료의 외부 탈취 방지를 위한 것이다. DB 자체를 암호화하는 건 기본. 암호화 표준까지 자체 개량해서 쓰고 있다. 설령 앞서 설명한 것처럼 해커가 침투를 한다고 해도 못 뺀낸다고 한다. 암호화 방식이 복잡할 뿐 아니라 동일 네트워크 상태여야 하고 물리적인 서버 형태 조건까지 까다로운 조건을 모두 만족하지 않으면 빼낼 수 없도록 설계했기 때문이다. 오 이사는 SLR클럽 내에 암호화된 것을 해커가 빼낸다 하더라도 “아마 푸는 데 100년 넘게 걸릴 것”이라고 설명했다.

 

SLR클럽은 연간 공개SW를 활용한 작품을 1∼2개 정도씩은 꾸준히 만들어오고 있다. 올해도 DB 샤딩 관련 분야를 대상으로 해서 1건을 진행 중으로 10∼11월 정도까지는 완성될 예정이라고 한다. 오 이사는 이런 기술력을 바탕으로 내부적으로는 SLR클럽의 최종 버전을 진행 중이라고 설명했다. 물론 일반 독자가 보기에는 차이가 없겠지만 내부적으론 프로그램을 체계화하고 조직화하는 한편 퍼포먼스를 최적화한 버전이 될 것이라는 것이다. SLR클럽 개발팀은 이 작업에 8개월 가량을 줄곧 매달렸다.

 

내부에선 ‘인비전 커뮤니티 플랫폼’이라고 부르는 것으로 2가지 특징을 지녔다. 첫째 대형 커뮤니티를 위한 플랫폼으로 첫째 외부 UI나 UX보다는 관리 프레임워크를 강화한다. 둘째 SLR클럽 같은 대용량 DB를 처리할 수 있는 커뮤니티에 최적화한다. 오 이사는 인비전 커뮤니티 플랫폼이 SLR클럽의 커뮤니티 14년 노하우를 담은 게 될 것이라고 설명한다. 여기에도 공개SW가 바탕이 되는 것은 물론이다.


 

[인터뷰]


“매년 공개SW 1∼2개 개발, 보안 솔루션도 직접 만들었죠”

오명오 인비전커뮤니티 CTO

 

오명오 인비전커뮤니티 CTO
▲ 오명오 CTO는 공개SW의 장점으로 수많은 사용자가 쓰다 보니 오히려 더 안정적이라는 점을 들었다.

공개SW를 쓰게 된 이유는 뭔가? 공개SW 도입 효과에 대해서 설명한다면.

보통 공개SW를 쓰면 불안하다고 생각하지만 많은 사람이 참여하다 보니 오히려 안정적이다. 물론 상용SW도 장점이 있지만 무작정 안정적이라 얘기할 수 없다. 예를 들어 마이크로소프트 윈도우만 봐도 2003년 정도까지만 해도 결함 덩어리였다고 해도 과언이 아니지 않았나. 반면 공개SW는 소스 자체가 모두 공개되어 있어 취약점도 금세 알려지고 수정된다. 공개SW라고 해서 무조건 다 좋다고만 말할 수는 없지만 내부에선 이를 수정하거나 바탕으로 삼아 더 좋은 솔루션을 직접 제작해 이용하기도 한다. 가장 큰 도입효과라면 보안 솔루션도 자체 개발하는 등 안정적으로 대형 커뮤니티를 유지할 수 있게 된 것이다.

 

커뮤니티 기반 회사다. 개발 방향성을 설명한다면 어떤 게 있을까.

노하우를 집약하고 가다듬는 것이다. 오는 11월 완성을 목표로 인비전 커뮤니티 플랫폼을 제작 중이다. 커뮤니티 14년 노하우를 담은 게시판 기반 커뮤니티 플랫폼이 될 것으로 기대하고 있다. 기존 커뮤니티 제작 도구와 달리 외부 UI나 UX보다는 관리 프레임워크를 강화하는 한편 SLR클럽처럼 대용량 DB를 처리할 수 있는 커뮤니티에 최적화할 것이다.

- 공개SW 역량프라자

 

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

posted by DB,MW,OS OSSW(Open Source System SoftWare
prev 1 next