쿠팡 로켓배송: 공간 색인 기반 배송 구역 관리 시스템
쿠팡은 H3 공간 색인으로 배송 구역을 지도 기반으로 정교하게 관리한다.
로켓배송은 배송지 주소를 정확히 파악하고, 가장 적합한 배송 영역을 찾아 쿠친에게 경로를 안내해야 한다. 기존의 텍스트 주소·우편번호 중심 방식은 복잡한 운영 요구를 따라가지 못했고, 2021년부터 지도 위에서 직접 편집 가능한 새 관리 시스템을 설계했다.
핵심 목표는 세 가지였다. 1) 배송 영역을 지도에서 쉽게 시각화하고, 2) 관계자들이 쉽게 확인·생성·수정·공유할 수 있게 하며, 3) 우편번호나 문자열 주소가 아니라 공간 데이터로 지속적으로 관리하는 것이다.
공간 단위로는 H3를 채택했다. W3W는 해상도 조정이 어렵고, S2는 정사각형 투영 과정에서 왜곡이 생길 수 있는 반면, H3는 육각형 격자와 부모-자식 위계 구조를 제공해 확장성과 구현 측면에서 유리했다.
해상도는 운영 목적에 맞춰 14레벨 H3로 맞췄다. 12레벨은 약 300m², 14레벨은 6.3m² 수준으로, 블록과 건물 입구, 우편함 같은 더 정확한 위치를 다룰 수 있었다. 대한민국 전체는 12레벨 기준 약 4억 3200만 개의 육각형으로 나뉘며, 13레벨은 31억, 14레벨은 217억 규모로 커진다.
데이터는 육각형 ID를 RDBMS에 직접 흩뿌리기보다, 각 배송 영역이 자신 안의 육각형 정보를 갖는 방식으로 설계했다. 다만 큰 영역은 데이터가 너무 커질 수 있어 H3 compaction 같은 기능을 검토했고, 필요에 따라 finer/coarser 해상도를 오가며 메모리 사용량도 줄이도록 했다.
실제 저장은 육각형 ID 목록만 두지 않고, polygon을 H3 polyfill로 14레벨 육각형으로 변환한 뒤 경계를 다시 polygon으로 저장하는 방식으로 구현했다. 사용자가 지도 UI에 사각형이나 임의의 다각형을 그리면 서버가 이를 육각형으로 채워진 다각형으로 바꾸고, 복잡한 도형은 먼저 원본 polygon을 저장한 뒤 비동기적으로 변환해 처리 시간을 줄였다.
실제 시스템에서는 우편번호를 선택하면 해당 영역이 지도에 표시되고, 사용자는 그 안에서 자유롭게 영역을 그릴 수 있다. 예를 들어 06961을 선택하면 두 개의 아파트 단지 영역이 보이며, 편집 시에는 원본 다각형과 H3 기반으로 변환된 영역이 함께 시각화되어 수정과 재생성이 가능하다.
이 방식으로 배송 영역은 더 이상 우편번호나 주소 문자열에 묶이지 않고, absolute 통계와 공간 기반 분석의 대상으로 바뀌었다. 배송 난이도 평가, 영역 간 거리 측정, 이동 시간 분석, 동적 영역 관리, 경로 추천까지 가능해졌고, 영역 변화가 있어도 같은 기준으로 성능을 비교할 수 있게 됐다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.