컨텐츠 내용
- 고객센터
- OSS뉴스
OSS뉴스
카카오가 오픈소스DB까지 직접 만든 이유 | 관리자 / 2016.07.04 | |
카카오는 서비스 운영을 위해 오픈소스 소프트웨어를 적극 활용하는 대표적인 회사 중 하나로 꼽힌다. 최근에는 단순히 쓰기만 하는 것을 넘어 직접 만들어 오픈소스 개발자 커뮤니티와 공유도 하는, 프로슈머로의 변신에 속도를 내고 있어 주목된다. 스타트는 OLTP(online transaction processing)용 그래프 DB인 'S2그래프'가 끊었다.[그래프 DB 설명보기: 카카오 테크블로그] 카카오가 개발한 S2그래프는 지난해말 오픈소스 관리 단체 중 하나인 아파치 소프트웨어 재단(ASF) 인큐베이터 프로젝트로 선정됐다. 인큐베이터 프로젝트는 아파치 공식 프로젝트 전 단계로 커뮤니티에서 좋은 반응을 얻을 경우 공식 프로젝트인 '톱레벨' 지위를 획득할 수 있다. 그래프DB란 데이터들 간 상관 관계를 그래프 구조로 표현해 저장하는 DB다. 트위터, 페이스북, 인스타그램 등 SNS 선도적인 기업들은 자사 서비스 이용자 대상 피드(feed)추천 등을 위해 그래프DB를 자체 개발해 활용하고 있다. 그래프DB 기반 기술은 오라클이나 마이SQL같은 관계형 DB가 아니라 빅데이터에 적합한 NoSQL DB다. 카카오는 오픈소스로 제공되는 NoSQL 기술 중 하나인 H베이스에 내부 노하우를 접목해 S2그래프를 개발했다. 대용량 트랜잭션 데이터를 저장한 뒤 중앙 집중식으로 관리하는 환경이 필요했는데, 기존 NoSQL DB를 가져다 쓰는 것으로는 한계가 있다고 판단돼 직접 개발했고, 이를 다시 오픈소스로 공개하게 됐다. 자체 개발한 그래프DB를 오픈소스로 풀지 않는 페이스북이나 트위터와는 다른 행보였다. 카카오에 따르면 S2그래프는 방대한 데이터 들간 관련성을 빠르고 직관적으로 제공함으로써 서비스 내에서 이용자 행동에 대한 결과물을 실시간으로 제공하는데 활용된다. SNS에서 특정 이용자와 친구관계를 맺은 사람들이 많이 반응한 콘텐츠들을 분석해 해당 이용자가 관심을 가질만한 콘텐츠를 추천해 주거나, 온라인 쇼핑에서 특정 이용자가 서비스 접속시 그와 유사한 취향을 가진 사람들이 구매한 제품들을 주로 노출시켜주는 것을 예로 들 수 있다. 가장 큰 장점은 이용자들의 관계 및 행동 데이터를 하나의 저장소에 모아 일원화된 API로 제공해 서로 다른 서비스들이 쉽게 데이터를 공유하고 실시간 데이터와 배치(Batch)로 생성된 데이터를 함께 사용할 수 있어 서비스에서 실시간성을 강화할 수 있다는 것이다. 속성이 추가된 소셜 그래프 예, 출처: 카카오 테크블로그 SNS에서 특정 게시물에 대해 사용자가 ‘좋아요’를 선택한 행동이 친구의 피드에 반영되기까지 기존 시스템에서는 수 시간에서 수 일이 걸렸는데 S2그래프를 통해 실시간으로 반영할 수 있다는 설명이다. (생략) 기사계속보기 |
이전 글 | 2016.08.08 | |
다음 글 | 2016.06.28 |