목록 보기
Ad Management 파트 서버 개발자의 지역 타게팅 개선기
백엔드

Ad Management 파트 서버 개발자의 지역 타게팅 개선기

버즈빌
버즈빌
2024년 3월 21일

두줄요약

ES5 패킷 제한을 넘던 지역 좌표 데이터를 convex hull로 압축했습니다. 저장 공간을 94.7% 줄이고 오차율을 검증해 지역 타게팅에 적용했습니다.

문제 상황

  • 다수 시·군·구 선택 시 ES5 1MB 패킷 제한 초과
  • 정교한 지역 경계 좌표 누적으로 광고 지역 타게팅 등록 제한

해결 방법

  • Graham Scan 기반 convex hull로 각 지역 경계 좌표를 외접다각형으로 축소
  • Shapely의 convex hull 함수로 전국 지역 데이터 변환

트레이드오프

  • 지역 경계 간 겹침으로 비타게팅 지역 광고 할당 가능성
  • 서초·강남·송파 타게팅에서 강동구 할당 6.6% 발생

성능/운영 포인트

  • 지역 데이터베이스 파일 4.9MB에서 262KB로 94.7% 감소
  • 최대 지역 데이터 3KB로 축소해 전체 250개 시·군·구 선택 제약 해소
  • 검증 가능한 스테이징 환경과 테스트폰 할당 설정의 중요성

다음 읽기

#Elasticsearch 주제를 이어서 읽기

엘라스틱서치를 활용한 수평 확장 가능한 광고 서버 만들기

복잡한 광고 타게팅 조회를 MySQL 조인에서 Elasticsearch inverted index 검색으로 전환했습니다. 단일 샤드·자동 레플리카 확장 구성으로 낮은 지연과 수평 확장을 확보했습니다.

버즈빌
버즈빌
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...