본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

[공개SW 활용 성공사례 187] VCNC - 사용자 데이터 분석에 공개SW 활용

OSS 게시글 작성 시각 2015-06-03 15:08:51 게시글 조회수 1549

스파크, 하둡을 대체하다


‘비트윈(Between)’이라는 커플 전용 SNS 서비스를 제공하는 VCNC는 서비스를 시작한 후부터 지금까지 꾸준히 사용자 데이터를 분석해 오고 있다. VCNC는 그 동안 사용자 데이터 분석을 위해 하둡을 이용해 왔으나 최근 이를 스파크로 교체했다. 이를 통해 VCNC는 비용절감은 물론 비효율성과 성능 개선 효과를 거둘 수 있게 됐다. 뿐만 아니라 간단한 시스템 구축을 통해 관리 포인트를 줄여 업무 효율 극대화를 꾀할 수 있게 됐다.

- 기     관 VCNC
- 수행년도 2012년
- 도입배경 이전보다 데이터분석 성능 향상이 가능한 기술 전환 필요성 대두
- 솔 루 션 하둡 맵리듀스(MapReduce), HBASE, MySQL, 아파치 스파크(Apache Sprak), 아파치 제플린(Apache Zeppelin)
- 도입효과 : 비용절감, 비효율성 및 성능 개선, 관리포인트 절감, 업무 효율 극대화

하루 처리되는 로그 데이터 용량 400기가바이트(GB), 누적 메시지 250억 건, 누적 사진 2억 5000만 장, 서비스 론칭 3년 만에 전세계 누적 다운로드 1000만 건(한국 500만, 일본 160만, 중국 80만, 대만 70만, 동남아시아 70만, 미국 30만), 유저 1명당 하루 평균 앱 체류시간 17분. VCNC가 운영하고 있는 커플 전용 SNS 애플리케이션 ‘비트윈(Between)의 실적이다. 비트윈은 이제 명실상부 전세계 1200만 명의 커플들에게는 없어서는 안 될 앱이다.


이러한 실적은 글로벌 투자사들에게도 좋은 반응을 이끌었다. 지난해 일본의 글로벌 브레인과 미국의 500스타트업, 소프트뱅크벤처스, 스톤브릿지캐피탈, KTB네트워크, 캡스톤파트너스 등으로부터 투자를 받았다.



데이터 분석 통한 의사결정


이처럼 VCNC의 비트윈이 급성장할 수 있었던 이유는 뭘까. 바로 데이터 분석을 통해 사용자들이 원하는 서비스를 빠르게 제공할 수 있었기 때문이다. VCNC는 지난 2011년 11월 비트윈을 선보였다. 그리고 3개월 후 데이터 분석 팀을 구성하고 데이터를 분석해 신규 서비스를 하나씩 추가했다.



▲ VCNC가 개발한 커플 전용 SNS 서비스 ‘비트윈’


김상우 VCNC 밸류 디벨로퍼(Value Developer)는 “비트윈 같은 서비스는 초기 단계에는 앱을 기획하고 만들어낸 팀의 아이디어에 의해 계속해서 발전하고 유지된다”며 “하지만 사용자가 늘어나고 기능이 점점 다양해지면서 사용자들의 앱 사용 패턴은 예측하기 어려워진다”고 설명했다. 즉, 사용자들의 로그데이터를 수집해 분석함으로써 서비스 사용실태는 물론 행동패턴, 나라별, OS별, 디바이스별 등 다양한 분석을 시도해 보다 나은 서비스를 선보이고 의사결정에 적극 활용한다는 것이다.



▲ VCNC가 해외 진출을 위해 분석한 데이터 예제


일례로 VCNC는 해외진출을 위해 데이터 분석에 나선 바 있다. 정해진 기간 동안 나라 별로 유입된 사용자들의 첫 2달간 앱 사용 추이를 살펴본 것. 이를 통해 비트윈이 잘 통하는 나라와 상대적으로 그렇지 않은 국가를 식별했다.


그는 “생각보다 결과가 좋지 않았던 국가가 중국이었다”며 “100명의 유저가 똑같이 유입된다고 가정했을 때, 5일 후 액티브 유저를 비교하니 일본 유저가 중국 유저의 2배 이상이었다”고 설명했다. 이는 여러 가지 요인으로 유추할 수 있었는데, VCNC 측은 그중 중국 내 낮은 스마트폰 사용률로 판단했다. 비트윈 가입 후 상대방과 연결하려고 보니 상대방이 스마트폰을 사용하지 않아 충성도가 떨어질 수밖에 없었다는 것이다. 실제 ‘다운로드 후 가입률’과 ‘가입 후 연결률’, ‘연결 후 사용률’ 등의 보다 세밀한 분석을 실시한 결과 이 가설이 사실임을 확인할 수 있었다.


하둡부터 스파크까지...공개SW 활용 효과 톡톡


VCNC는 이런 데이터 분석에 공개SW를 적극적으로 활용하고 있다. 특히 하둡 맵리듀스와 연관 기술인 하이브(Hive)가 그 중심이다. 하둡 맵리듀스는 구글에서 정보 검색을 위한 데이터 가공(색인어 추출, 정렬 및 역인덱스 생성 등)을 목적으로 개발된 분산 환경에서의 병렬 데이터 처리 기법이자 프로그래밍 모델이다. 또 이를 지원하는 시스템을 뜻하기도 한다.


간단히 말하면 HDFS의 파일을 처리(분석)하기 위한 프로그래밍 모델이며 흩어져 있는 데이터를 수집해 그 데이터를 각각의 종류별로 모으고(MAP) 필터링(Filtering)과 소팅(sorting)을 거쳐 각각의 개수를 뽑아내는(Reduce)분산처리 기술과 관련 프레임워크를 말한다. 이 때 단순히 개수만이 아닌 추가적인 연산 작업으로 더 다양한 의미 있는 분석 결과를 뽑아낼 수 있다.




▲ 하둡 맵리듀스 환경에서의 시스템 구성도


맵리듀스의 장점은 단순하고 사용이 편리하며 유연성을 갖추고 있다는 점이다. 또 저장 구조와의 독립성과 높은 확장성을 들 수 있다. 하지만 단점도 존재한다. 고정된 단일 데이터 흐름을 갖고 있으며, 스키마, 인덱스, 고차원 언어 등을 미지원한다. 또 스케줄링이 단순하고 상대적으로 낮은 성능을 지적받고 있다.


김상우 밸류 디벨로퍼는 “맵리듀스 기술이 혁신적인 기술이지만 10년이 지난 기술이다보니 여러 가지 단점이 보였다”며 “가장 큰 단점은 과도하게 복잡한 코드”라고 지적했다. 또 이의 대안으로 SQL을 맵리듀스로 변환해주는 하이브 프로젝트가 있지만 쿼리를 최적화하기가 어렵고 속도가 더 느리지는 경우도 있었다는 것이 그의 설명이다.




▲ 아파치 스파크 환경에서의 구성도


이에 VCNC는 지난해 여름, 대안을 찾고 6개월에 걸쳐 대대적인 작업에 들어갔다. 맵리듀스를 아파치 스파크로 교체하면서 좀 더 효율적으로 데이터를 처리할 수 있게 된 것. 또 아마존웹서비스(AWS) EC2 서버에 아파치 스파크를 올려 사용 중이다.


그는 “스파크는 하둡 맵리듀스와 비슷한 목적을 해결하기 위한 클러스터 컴퓨팅 프레임웍으로써 메모리를 활용한 빠른 데이터 처리가 특징”이라며 “함수형 프로그램이 가능한 언어인 스칼라(Scala)를 사용해 코드가 매우 간단하며, 인터랙티브 쉘(Interative Shell)을 사용할 수 있다”고 말했다. 실제 아파치 스파크는 하둡 맵리듀스와 비교해 코딩 양이 최대 1/10 수준으로 줄일 수 있다. 또 아파치 제플린도 함께 도입해 데일리 배치 작업(daily batch) 작업 수행 및 시각화를 구현할 수 있게 됐다.


특히 기존에 PC를 활용해 병렬컴퓨팅을 구현했던 것을 AWS 클라우드를 사용함으로써 관리도 보다 수월해졌다. VCNC의 과거 분석 시스템은 인텔 i5 CPU를 탑재한 일반 PC 10대로 구성됐다. 각 PC에는 20TB(테라바이트) HDD 6대가 탑재됐으며, VCNC를 이를 직접 사무실 구석에 놓고 관리하고 있었다. 특히 AWS S3 도쿄 레젼(Region)에 있는 로그를 다운받아 따로 저장한 뒤, 맵리듀스로 계산하고 대시보드를 위한 사이트를 따로 제작해 운영하고 있었다.




▲ Spark과 MapReduce의 성능 비교, 자료: RDD논문


김상우 밸류 디벨로퍼는 “자주 고장 나는 하드웨어를 수리하는데 시간이 소비됐으며 충분히 많은 머신을 확보할 수 없어 분석 시간도 오래 걸렸다”며 “분석부터 시각화까지 복잡했기 때문에 간단한 것이라도 구현하기 위해선 많은 시간과 노력이 필요했다”고 설명했다.


VCNC는 하둡 맵리듀스를 스파크로 교체하고 클라우드 서비스를 이용하면서 수 많은 장점을 취할 수 있게 됐다. 우선 데이터 분석 입장에서 관리해야 할 포인트가 적어져 부담을 덜었다. 이에 Ad-hoc(즉석) 분석을 수행할 수 있는 시간이 늘어 여러 가지 데이터 분석 결과를 필요로 하는 다른 팀들의 만족도도 높일 수 있게 됐다. 하지만 단점도 존재한다. 그는 “새로운 기술로 시스템을 구성하다 보니 세시한 기능들이 아쉽기도 하고 안정성도 보다 고도화해야 한다”며 “앞으로 꾸준히 개선해 나갈 것”이라고 밝혔다.



[인터뷰]


“공개SW 덕을 본 만큼 커뮤니티에도 기여해 나갈 것”

김상우 VCNC 밸류 디벨로퍼


VCNC 김명보 Value Developer

하둡을 스파크로 바꾸면서 가장 중점을 둔 부분과 거둔 효과는?

가장 중점을 둔 것은 두가지였다. 빠르고 효율적이며 범용성이 있는 아파치 스파크와 아파치 제플린을 활용하는 것과 최대한 시스템을 간단히 구성해 관리 포인트를 줄이는 것이었다. 이를 통해 일일 배치 분석의 경우 보다 손쉽게 데이터를 분석할 수 있게 됐으며, 오류가 생긴 경우에도 쉘을 통해 손쉽게 원인 발견과 수정이 가능해졌다. 또 즉석 분석이 가능해 졌으며 제작 코드가 즉각 시각화돼 대시보드의 제작과 관리가 수월해 졌다. 특히 일일 배치 분석에 과거 8시간이 소요됐지만 아파치 스파크와 제플린을 이용하므로써 1시간으로 줄일 수 있었다.

 

VCNC에게 공개SW란

비트윈 서비스를 개발하면서 공개SW의 도움을 무척 많이 받았다. 특히 VCNC는 스타트업인 만큼 공개SW가 절대적이었다. 절대 빠질 수 없는 요소다. 때문에 이런 도움에 부흥하고 조그마한 힘이 되고자 스파크 커뮤니티를 운영하는 등 공개SW 활용에 보탬이 되고자 많은 노력을 기울이고 있다.




- 공개SW 역량프라자
맨 위로
맨 위로