[인터뷰] 아파치 인큐베이팅 선정된 S2Graph 개발한 카카오 윤도영 파트장

519251632_640.jpg최근 국내 IT 대기업의 소프트웨어가 아파치재단 인큐베이팅 프로그램 선정돼 눈길을 끌고 있다. 카카오가 개발한 그래프 데이터베이스 ‘S2그래프’가 주인공이다. 아파치재단은 전 세계에서 가장 유명한 오픈소스소프트웨어 커뮤니티 중 하나다.

아파치 인큐베이팅 프로젝트로 선정되면 전 세계 개발자들이 함께 소프트웨어를 발전시켜 나갈 수 있다. 또 인큐베이팅 프로그램을 졸업하고 톱레벨 프로젝트가 될 경우 하둡, H베이스, 스파크 등 유명 프로젝트와 어깨를 나란히 하게 된다. 지금까지 국내에서 시작된 아파치재단 오픈소스 프로젝트는 하마, 타조, 제플린 등 세 개뿐이다. 이 중 국내 IT 대기업이 자사의 자산을 기부한 것은 이번이 처음이다.

이 프로젝트를 주도한 것은 카카오의 윤도영 그래프 DB 파트장이다. 그는 카카오 내에서 개인 프로젝트로 그래프 DB 개발을 시작했다. 그러다가 점차 성과물이 사내에서 인정을 받으면서 그래프DB 파트라는 조직을 구성하는 단계로 발전하게 됐다.

지난 10일 카카오 판교 오피스에 윤 파트장을 만나 ‘S2그래프’에 대한 이야기를 나눴다.

KakaoTalk_Photo_2015-12-13-13-20-49_18Q. 아파치 인큐베이팅 프로그램에 선정된 것을 축하드린다. S2 그래프에 대한 설명부탁드린다.

“ HBase 기반의 온라인 트랜잭션 프로세싱(OLTP) 그래프 DB라고 정의할 수 있다. 사람들의 네트워크를 점과 선으로 연결한 그래프 모습으로 저장하는 것이 그래프 DB다.”

Q. 어렵다. ㅠㅠ

“만약에 누군가 A라는 소셜카드 콘텐츠에 ‘좋아요’를 눌렀다고 하자. 이 액티비티를 친구들에게 알려줘야 한다. 기존에는 이런 액티비티를 친구들에게 전달하기 위해 엄청나게 복잡한 프로세스를 거쳐야 했다. 하지만 친구들 사이의 관계가 DB에 저장돼 있다면 ‘좋아요’를 누른 액티비티가 벌어지는 즉시 그래프DB에서 관계를 파악하고 알림을 보낼 수 있다. 또 친구에 대한 정보뿐 아니라 친구의 친구에 대한 정보도 쉽게 알 수 있다.”

Q. 주로 어떤 용도로 쓰이나?

“가장 좋은 것은 추천시스템을 만들 때다. 지금까지의 추천시스템은 ‘20대가 좋아하는 것’과 같은 기준으로 해왔다. 하지만 이렇게 하면 제대로 된 추천이 아니다. 그냥 인기콘텐츠만 계속 노출된다. 하지만 ‘S2그래프’를 통해 친구들의 관계를 기반으로 추천 시스템을 만들면 기존과는 다른 추천시스템을 만들 수 있다”

Q. 왜 이런 것을 만들었나?

“페이스북이나 트위터 등은 자체적인 그래프DB를 가지고 있다. 하지만 이를 외부에 공개하지 않았다. 카카오도 그래프DB가 필요해서 기존의 오픈소스 소프트웨어 중에서 쓸만한 것을 찾아봤다. 하지만 성능 등의 문제로 현재 나와 있는 오픈소스는 사용하기 힘들다고 봤다. 결국 자체 개발을 하게 됐다.

Q. 그래프 DB가 꼭 필요한가?

“그렇지는 않다. 성능과 리소스의 문제다. 마이SQL 같은 기존의 관계형 DB로도 할 수는 있다. 하지만 그래프DB를 사용하는 것보다 성능이 떨어지고 리소스도 많이 잡아먹는다.

H베이스에서도 할 수 있다. 하지만 H베이스는 무척 복잡하고 어렵다. S2 그래프는H베이스를 엔진으로 그 위에서 도는 응용 프로그램이라고 볼 수 있다. 개발자들은 굳이 어려운 H베이스를 건드리지 않고도 S2 그래프를 활용해 원하는 결과를 얻을 수 있다.

예를 들어 내가 좋아요를 누르면 친구에게 곧바로 알림이 뜨고 친구의 피드에 반영돼야 한다. 모바일에서 한참 뒤에 알림이 뜨는 것은 의미가 없다. 하지만 이를 시스템적으로 구현하는 것이 쉬운일이 아니다. 그래프 DB는 이런 실시간 알림을 가능케한다.”

Q. 카카오는 S2 그래프를 왜 오픈소스로 풀었나?

“카카오에는 상생차원에서 내부 기술을 오픈소스로 만드는 것에 대해 긍정적으로 생각하는 문화가 있다. S2 그래프 이외에도 많은 오픈소스 소프트웨어가 카카오 내부에 있다.

또 S2그래프를 개발해 자체적으로 적용한 후 좋은 평가를 받았다. 이런 점을 전 세계와 공유하고 싶었다. 아파치재단 프로젝트로 올라가면 세계적인 유명 개발자들이 S2 그래프 개발에 함께 할 수도 있다.

Q. 페이스북이나 트위터가 그래프 DB 기술을 공개하지 않았다면, 내부적으로 엄청 중요하게 생각한다는 의미 아닐까? 카카오 경쟁사들이 가져다 써도 괜찮겠나?

“소스를 공개한다고 모두 다 따라할 수 있는 건 아니다. 저희는 저희만의 운영 노하우가 있기 때문에 상관 없다. 저희가 솔루션 회사라면 기술을 보호할 가치가 있겠지만, 우리는 이것 자체를 파는 것이 아니라 이 기술을 기반으로 서비스를 잘 만드는 것이 목적이다.

Q. 오픈소스 공개 이후 반응은 어떤가?

“해외 컨퍼런스에서 발표를 해 봤는데, 반응이 좋았다. 해외 개발자도 두 명이 커미터로 참여하기로 했다.

Q. S2그래프를 실제 카카오 서비스에 적용해 본 곳이 있나? 적용 전후 변화가 있었나?

“구체적인 수치를 말하긴 어렵지만, S2그래프 기반 추천시스템을 통해 구매 전환율이 4배 이상 상승한 예가 있다.

<바이라인 네트워크>
심재석 기자 shimsky@byline.network

 

 

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다