맥도날드, S2Geometry로 위치 검색 비용 97% 절감!

by DD
6개월 전
조회수 6

Apache Lucene 기반의 기존 위치 검색 시스템의 높은 비용 문제를 해결하고자 함

Google S2Geometry Library를 도입하여 정확도 유지연간 100만 달러 비용 절감 달성

Geohash반경 검색 방식과의 비교를 통해 S2Geometry의 성능 우위 입증

S2Geometry의 핵심 원리

S2Geometry는 지구 표면을 3D 구체로 표현하여 위치 데이터를 관리한다. 구체적으로 Quadtree 구조를 활용하여 다양한 Zoom Level에서 효율적인 검색을 지원한다. 따라서 지리적 데이터의 정확한 표현과 빠른 검색 속도를 동시에 달성한다.

Geohash vs S2Geometry: 성능 비교

Geohash는 간단하지만, 경계선 문제로 인해 정확도가 떨어질 수 있다. 반면 S2Geometry정확도를 유지하면서도 Apache Lucene 대비 10ms 이상 빠른 응답 시간을 제공한다. 따라서 비용 절감성능 향상이라는 두 마리 토끼를 잡았다.

S2Geometry 적용 시 고려사항

S2PointIndex를 사용하고, AVLTreeSet으로 데이터를 관리하여 성능을 최적화한다. 구체적으로 AWS EKS 환경에서 m5.xlarge 노드를 사용하여 자원 효율성을 높였다. 따라서 S2Geometry의 성능을 최대한 활용하기 위한 인프라 구성이 중요하다.

A Smarter Proximity Search — How Engineering Can Drive Innovation & Efficiency