kakao의 오픈소스 Ep1 – 대용량 분산 그래프DB "S2Graph"
kakao의 오픈소스 Ep1 – 대용량 분산 그래프DB "S2Graph" “카카오의 오픈소스를 소개합니다” 첫번째는 shon.0와 동료들이 개발한 S2Graph입니다. S2Graph는 카카오에서 1년 여의 개발을 거쳐 카카오톡, 카카오스토리, 카카오뮤직, 선물하기, 다음앱, 다음뉴스, 다음쇼핑 등 20여개 이상의 서비스에 적용된 대용량 분산 그래프 데이터베이스입니다. Scala언어와 Play 프레임웍으로 작성된 그래프 API 서버와 HBase, Kafka, Spark 등 최근 가장 주목받는 기술들로 구성되어, 호기심으로 똘똘뭉친 개발자들에게 많은 도움이 될 것입니다. 그래프 데이터베이스 “그래프”라고 하면, 보고서나 발표자료에 막대 그래프, 파이 챠트,…를 떠올리지만, 이 글에서 언급하는 그래프는 수학자 오일러에서 시작된 그래프 이론의 그래프입니다. 그래프 이론은 “유한 개의 점들로 이루어진 집합과 점들 간의 연결(관계)를 다루는” 학문입니다. 예를 들면, “어떤 지역과 지역을 최단거리로 이동하려면 어떻게 해야 되는가? 어떤 지점들이 있는데 이 지점들을 중복으로 지나지 않고 한번에 이동할 수 있는가?” 같은 문제를 연구하는 거죠. 이런 “그래프 구조”를 저장하고 표현하기 위해 만들어진 도구가 그래프 데이터베이스 (graph database; 이하 그래프DB)입니다. 소셜 그래프 카카오의 많은 서비스들은 사용자 [ more… ]