
백엔드
Elasticsearch 성능 비교: Box vs Polygon, 어떤 방식이 더 빠를까?
두줄요약
Elasticsearch 사각형 공간 검색에서 Box와 Polygon의 성능을 비교했습니다. 두 방식은 큰 차이 없이 유사했으며, 단순 검색에는 Box를 우선 고려할 수 있었습니다.
핵심 내용
- Elasticsearch의 동일한 사각형 공간 검색에서 Box 방식과 Polygon 방식의 성능을 비교
- 10만 개 좌표, geo_point 인덱스, GeoBoundingBoxQuery와 GeoPolygonQuery로 평균 응답 시간과 TPS 측정
- 두 방식 모두 응답 시간, TPS, 응답 길이에서 큰 차이 없이 유사한 성능
선택 이유
- Box는 두 좌표만 사용하는 단순한 사각형 경계 검색 구조
- Polygon은 4개 꼭짓점을 쓰는 비정형 다각형 검색에 적합
- 사각형 검색에서는 간결한 Box를 우선 고려할 만함
성능/운영 포인트
- Elasticsearch의 공간 필터링이 내부적으로 최적화되어 있어 입력 방식 차이가 성능에 큰 영향을 주지 않음
- relation 옵션 intersects 기준에서는 두 방식의 비교 결과가 유사
- within, contains 같은 다른 relation에서는 성능 차이가 생길 가능성
적용해볼 점
- 단순 사각형 검색에는 Box 방식 우선 검토
- 복잡한 다각형 검색이 필요할 때는 Polygon 방식 사용
- 실제 서비스에서 쿼리 방식별 성능을 지속 측정하며 선택
