페이스북이 자사의 새로운 소셜 검색 툴인 그래프 검색의 규모를 키워나가는 작업을 진행하면서 페이스북의 엔지니어들에게는 수많은 과제가 주어졌다. 그리고 가장 어려운 과제는 바로 넘칠 정도로 많은 데이터를 걸러내는 일이다.
뉴욕시에서 일본에 다녀온 사람들이 좋아하는 일본 식당을 검색하는 것을 예로 들어보자. 수백 건의 결과를 내놓을 것 같은 이 검색은 단 두 건의 결과만을 내놓는다.
아직 베타 상태인 이 검색엔진은 이 검색을 수행하기 위해 페이스북에 있는 일본 사람들 간의 수백만 건에 달하는 관계를 꼼꼼하게 살펴 추려내기 위해 단지 강력한 처리 성능만을 갖추고 있는 것은 아니라는 것이 페이스북 엔지니어들의 설명이다.
페이스북은 소규모 미디어 행사를 통해 그래프 검색과 관련된 자사의 과제와 향후 개발 방향에 대해 소개했다. 페이스북의 소프트웨어 엔지니어인 마이클 커티스는 “여전히 해야 할 일이 많다”며, “이런 쿼리는 연산하기가 매우 어렵다”고 설명했다. 일본에 있는 또는 다녀 온 사람 1억 명으로 시작해서, 이들이 좋다고 한 모든 페이지를 짧은 시간 동안에 분류해 낸다.
커티스는 “이런 쿼리는 실제로 우리에게 주어진 제한된 시간 내에 처리하기 어렵다”고 밝혔다. 커티스는 그래프 검색의 인프라를 제공하는 유니콘 검색엔진을 설계하는 데 참여했다. 또 “최종적으로 내놓아야 하는 것은 가능한 좋은 검색 결과를 추려내는 것”이라고 덧붙였다.
페이스북은 이 문제와 함께 그래프 검색과 관련된 다른 빅 데이터 문제를 해결하기 위해 다각적인 접근을 펼치고 있다. 이중 하나는 “쿼리 최적화”라고 알려진 것으로, 특정 종류의 검색 속도와 효율성을 향상시키는 것이다.
일본 식당 검색의 경우, 이 기법을 적용할 수 있는데, 일본으로 검색을 시작하는 것이 아니라 사람들이 좋아하는 식당으로 검색을 시작한 다음, 일본에 다녀 온 사람ㅁ들이 좋아하는 식당으로 검색 결과를 필터링하는 방식으로 진행할 수 있다.
이와 함께 페이스북은 하드웨어 수준에서도 문제 해결을 위해 노력하고 있는데, 그래프 검색으로 인해 증가한 검색 트래픽을 수용하기 위해 데이터센터에서 사용하는 서버에 플래시 메모리를 추가하고 새로운 기능을 부가하는 등의 시도를 하고 있다.
그래프 검색의 기반이 되는 검색 인프라팀을 맡고 있는 소렌 라센은 “데이터센터에 추가 작업을 할 필요가 있다. 새로운 하드웨어 플랫폼을 구매하고, 유니콘 검색엔진의 연산을 지원할 수 있는 새로운 종류의 서버를 추가해야 한다”고 설명했다.
유니콘 검색엔진에서 friend를 검색하자 15자리 수의 검색 결과가 나왔다.
페이스북은 지난 달부터 미국 내 일부 사용자를 대상으로 그래프 검색 서비스를 제공하기 시작했다. 이 새로운 검색 툴은 페이스북에서 사람들 간에 이루어지는 1조 건의 연결을 이용해 사람이나 장소, 사진, 관심사 등을 검색할 수 있도록 하기 위한 것이다.
원칙적으로 사용자들이 비정상적으로 길고 복잡한 쿼리, 예를 들어 “뉴욕에 사는 내 친구의 친구의 고용주이자 다운톤 애비를 좋아하는 사람” 같은 쿼리를 입력하는 것을 막을 방법은 없다. 그래프 검색은 ‘좋아요’와 같은 요소를 단서로 사용해 검색 결과에 좀 더 쉽게 순위를 매기기 때문이다.
페이스북은 궁극적으로 그래프 검색이 사용자 코멘트나 상태 업데이트 등의 다른 지표도 통합적으로 사용해 검색 결과의 순위를 매기게 될 것이지만, 완성까지는 아직 많은 시간이 걸릴 것이라고 밝혔다. editor@itworld.co.kr