소프트웨어

[오픈테크넷서밋 2016] 카카오가 그래프DB를 직접 만든 까닭은?

백지영
[디지털데일리 백지영기자] 지난해 카카오는 직접 그래프 데이터베이스(DB)인 ‘S2그래프’를 만들었다. ‘S2’는 ‘슈퍼 심플(Super Simple)’을 의미한다. 그래프DB는 사용자 간 관계와 행위(액티비티) 등을 점과 선으로 표시해주는 DB로, 직관적으로 데이터 관계를 파악하고 효율적으로 저장할 수 있는 것이 특징이다.

기존에 상용 혹은 오픈소스로 공개돼 있는 그래프DB도 있었지만 모두 카카오가 원하는 형태는 아니었다. 상용그래프DB의 경우 불필요한 기능이 구현돼 있어 너무 무거웠고, 오픈소스는 라인수가 많아 자사 서비스 적용 시 고칠 자신이 없었다.

결국 카카오는 필요한 것만 구현하는 방식으로 직접 만들기 시작했다. 그래프DB의 이름(S2)에서도 알 수 있듯, 단순하게 꼭 필요한 기능만 구현하는 것에 초점을 뒀다. 초기 모델을 만드는 것은 1달도 채 걸리지 않았다. 카카오는 단순히 그래프DB를 만드는 것에 그친 것이 아니라, 이를 오픈소스로 공개했다. 심지어 S2그래프 DB는 지난해 아파치재단의 인큐베이팅 프로그램 선정되기도 했다.

이와 관련, 윤도영 카카오 그래프DB파트장은 15일 디지털데일리와 정보통신산업진흥원(NIPA) 주관으로 서울 양재동 엘타워에서 열린 ‘오픈 테크넷 서밋 2016’에서 S2 그래프 DB의 활용 및 이로 인한 효과에 대해 설명했다.

그는 “처음에는 개인 프로젝트로 시작한 것이 회사 차원의 프로젝트로 발전하면서 그래프DB 파트라는 조직까지 만들어졌다”며 “현재 30개 이상의 카카오 서비스에 적용되며, 지속적으로 발전시켜 나가고 있다”고 말했다.

예를 들어, 무지(카카오 대표 캐릭터)와 라이언은 친구인데 뮤지는 아델의 ‘헬로우’를 들었고, 라이언은 카카오게임을 하고 있다. S2 그래프를 통해 이러한 사용자 간 관계를 정의하고, 친구관계를 맺은 사람이 무엇을 좋아하고, 구매하고, 공유하고, 댓글을 달았는지 등을 표시해주고 이를 효율적으로 저장한다.

현재 S2 그래프가 가장 많이 활용되는 분야는 ‘추천’ 상품이다. 마치 케빈 베이컨의 6단계 법칙과 같이 나와 성향이 비슷한 사람들을 연결해 이들이 듣는 음악이나 아이템을 추천해주는 것이다. 카카오가 인수한 멜론에도 이를 적용하는 방안을 논의 중이다.

카카오는 현재 각 서비스마다 각자 DB를 갖고 있는 구조다. 필요할 때마다 API를 통해 관련 정보를 공유하다보니, 불편한 부분이 적지 않았다. 특히 추천이나 광고, 사용자 기반 성향을 파악하는 분석 관점에선 효율적이지 않은 측면이 있었다.

S2그래프를 만든 이후에는 주요 서비스 및 신규로 런칭되는 서비스에 이를 적용시키고 있다. 메시징이나 소셜, 블로그 앱은 이미 No SQL인 H베이스 위에 S2그래프DB가 올려 데이터를 공유하는 형태다.

윤 파트장에 따르면, S2그래프는 카카오톡의 이모티콘 스토어나 카카오톡 채널, 카카오톡 선물하기 등의 실시간 추천 알고리즘에 적용돼 있다. 효과도 예상보다 좋았다.

예를 들어 이모티콘 스토어의 경우 기존 MP(Most Popular) 방식에 비해 전체 아이템 클릭수는 3.8배 늘었다. MP는 ‘20대가 가장 좋아하는 아이템’과 일반적인 방식이다. 카카오톡 선물하기의 클릭율은 344%, 구매확율도 459%나 높아졌다.

윤 파트장은 “단순해보이지만, 사실 그래프 상의 데이터 자체는 무척 크다”며 “관계 자체만 100억건이 넘으며, 친구를 맺고 끊는 변경분도 하루에 5000만건 이상이다. 사용자 행위도 매일 30억건 이상 쌓이지만, 쿼리 응답속도는 50마이크로세컨(ms) 이하로 유지하고 있다”고 설명했다.

이어 그는 “페이스북이나 트위터, 핀터레스트 등 주요 소셜네트워크서비스(SNS) 업체들은 자체적인 그래프DB를 갖고 있지만, 이를 오픈소스로 공개한 사례는 없다”며 “S2그래프DB는 오픈소스로 공개된 만큼, 누구나 참여할 수 있다”고 덧붙였다.

<백지영 기자>jyp@ddaily.co.kr
백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널