SK플래닛 “빅데이터 분석, 하둡이 해법”

가 +
가 -

T스토어 웹사이트 화면 오른쪽 아래엔 ‘앱코디’라는 사용자별 응용프로그램(앱) 추천서비스가 자리잡고 있다. 앱코디는 사용자 계정을 바탕으로 구매 이력을 분석해 사용자 성향과 연관도 높은 앱을 추천해주는 서비스다. 나와 비슷한 구매 이력을 가진 사용자들을 분석해 이들이 구매한 앱 중 내가 구매하지 않은 앱이나, 나와 비슷한 앱 취향을 가진 사용자들이 가장 많이 내려받은 앱을 찾아 보여준다.

이 같은 서비스를 제공하기 위해 SK플래닛은 2006(당시 SK텔레콤)부터 인프라 개발을 준비했다. 모바일 데이터를 비롯한 각종 데이터를 분석하기 위해서다. SK플래닛에서 데이터 분석 관련 업무를 맡은 이준섭 팀장은 데이터 분석 초창기 시절만 해도 테라바이트(TB)급 단위의 데이터를 처리하기 위해 30억원이 넘는 SAN 스토리지를 샀다고 설명했다.

“10억원이나 들여 서버를 사고 여기에 더해 상용 ETL 장비, 관계형 데이터베이스 관리 시스템(RDBMS)을 구매해 분석 인프라를 구축했습니다. 굉장히 큰 비용이 들었지요.”

이준섭 팀장은 엄청난 비용을 들인 만큼 데이터를 원활하게 수집하고 분석할 수 있을 것으로 기대했다. 그러나 구축된 인프라로는 데이터를 처리하거나 분석할 수 없는 상황에 부딪혔다. 각 기기로부터 자료를 수집하면 이를 데이터베이스(DB)에 넣을 수 있는 형태로 변환해야 하는데, 해당 작업에 오랜 시간이 걸렸다. TB급에 이르는 데이터를 정제하고 요약하는 단순 작업만 실행해도 7일이라는 시간이 걸렸다.

“7일 내내 해당 DB는 작업을 처리하느라 정신이 없었습니다. 다른 작업을 하려면 기다려야 DB가 한가해질 때까지 기다려야 했지요. 물론 더 큰돈을 들여 더 좋은 장비를 사고 서버를 늘리는 법도 있지만, 이런 방법은 한계가 있습니다.”

관계형 데이터 분석은 장비만 많이 산다고 해서 바로 좋은 게 아니다. 분석 장비가 늘어나면 이를 위한 컴퓨팅 자원, 즉 서버도 늘어나야 한다. 문제는 서버가 늘어나면 늘어날수록 서버 간 통신량이 많아지면서 오히려 프로세싱 처리 속도가 느려진다는 점에 있다. 맘 놓고 장비를 살 수 없는 이유다.

“확장성 문제에 부딪힌 셈입니다. 데이터 크기가 급증하면 기존 인프라는 이에 대해 제대로 대응하지 못했습니다.”

게다가 데이터 처리를 위한 상용 소프트웨어를 사면서 이에 따른 라이선스 요금과 운영 비용도 만만치 않았다. 도입한 솔루션 성능이 현저하게 느려 사용할 수 없는 일도 생겼다. 해당 솔루션이 데이터 처리 또는 분석 기술을 완벽하게 제공하지 않아서다.

이때 이준섭 팀장은 ‘하둡’으로 눈을 돌려 해결책을 찾았다. 하둡은 대용량 데이터를 처리할 수 있게 분산처리와 분산저장 기술을 갖춘 플랫폼이다. SK플래닛은 2008년부터 하둡을 이용해 ‘스페이드(SPADE)’라는 정형·비정형 데이터 분석을 위한 빅데이터 처리 플랫폼을 만들기 시작했다.

“2007년 하둡을 알게 됐습니다. 그리고 2008년 하둡 기반의 인프라를 만들기 시작했지요. 그 결과 데이터 처리를 위한 인프라를 모두 하둡으로 바꿨습니다.”

SK플래닛은 아파치 하둡의 하이브, 피그, 맵 리듀스 프레임워크와 하둡 분산 파일 시스템(HDFS)을 사용해 대용량 데이터를 분산 처리할 수 있는 뼈대를 만들었다. 그 위에 각 데이터 작업 흐름을 파악하기 위한 워크플로우 디자이너와 워크플로우 엔진을 만들었다. 워크플로우 디자이너와 워크플로우 엔진은 웹브라우저에서 작동하는 덕에 개발자들이 손쉽게 데이터 작업 흐름을 관리할 수 있게 됐다. 여기에 SK플래닛은 웹기반 모니터링 도구를 더해 네트워크 트래픽과 CPU 사용량 등을 확인하면서 데이터를 관리할 수 있게 도왔다. 단순하게 오픈소스를 도입한 데 그친 게 아니라, 좀 더 원활하게 데이터 분석을 할 수 있는 환경을 만든 셈이다.

SK플래닛은 하둡 등 오픈소스를 활용해 자체적으로 분산 병렬처리 인프라와 필요한 기술을 개발한 덕에 빅데이터 처리 프로세스가 단순해졌고, 프로세싱 시간을 단축하는 효과를 얻었다. 상용 소프트웨어 도입 비율을 줄인 덕에 데이터 저장에 따른 라이선스 비용도 절감할 수 있게 됐다.

현재 T스토어 앱 추천 서비스를 비롯해 SK플래닛의 다양한 사용자 맞춤형 서비스는 스페이드 플랫폼 위에서 이뤄진다. SK플래닛은 2009년부터 주요 알고리즘과 데이터 전·후처리에 필요한 모듈들을 맵리듀스 기반으로 개발해 스페이드에 탑재했다.

대표적인 예로 SK플래닛은 T스토어 앱 추천 서비스를 제공하기 위해 스페이드 위에 사용자 기반의 협업 필터링(Collaborative Filtering) 방식을 도입했다.

“이 방식은 사용자가 산 물품이 다른 사용자와 겹칠수록 컴퓨터가 계산해야 하는 값은 커지고 복잡해진다는 단점이 있습니다. 시스템 부하를 덜기 위해 클러스터 기반으로 협업 필터링을 시도했습니다.”

즉, SK플래닛은 한 사용자가 티스토어에서 구매한 모든 앱을 분석해 추선 앱을 선보이는 게 아니라 이 사용자가 게임 카테고리 안에서 어떤 앱을 샀는지 등 앱 분야별로 세분화해 분석한 뒤 추천하는 알고리즘을 만들었다. 시스템도 생각하면서 사용자 맞춤형 서비스도 생각했다.

“물론 알고리즘 하나를 맵리듀스로 개발한다고 해서 추천이나 개인화가 끝나는 건 아닙니다. 현재 T스토어를 지원하기 위한 프로세스를 간단하게 그려보면, 단계별로 여러 가지 알고리즘이나 ETL 모듈들이 결합해 사용됩니다. 이렇게 만들어진 기본적인 추천 결과를 바탕으로 실제 서비스가 나가기 전에 후처리 로직 및 정제 작업이 수반되어야 품질 좋은 추천 결과를 얻을 수 있습니다.”

네티즌의견(총 1개)