본문으로 이동
지역 기반으로 중고거래 검색을 샤딩하라 | 2024 당근 테크 밋업
컨퍼런스

지역 기반으로 중고거래 검색을 샤딩하라 | 2024 당근 테크 밋업

당근 밋업 당근 · YouTube

원문 보기

AI 핵심 요약

Elasticsearch의 기본 샤딩은 검색 요청을 모든 샤드로 보내기 때문에, 특정 지역의 트래픽 증가가 다른 지역의 검색 성능과 클러스터 가용성에도 영향을 주는 문제가 있었다. 이를 해결하기 위해 당근의 지역 계층 구조와 검색량·문서량 가중치를 반영해 인접 지역을 묶고, 라우팅 테이블을 통해 지역별 문서를 해당 샤드에 저장하고 검색하도록 바꿨다. 지역별 문서가 일부 샤드에 몰려 생긴 지연은 샤드 수와 Elasticsearch의 라우팅 파티션을 조정해 완화했다. 발표에서 공유한 테스트 결과, 검색 지연은 200ms에서 90ms로 줄고 인프라 비용은 53% 감소했으며, 커스텀 샤딩에는 라우팅 일관성과 장애 대응이 필수라는 점을 강조했다.

  • 샤딩 키를 정할 때는 데이터 분포뿐 아니라 지역별 검색량과 인접 지역 관계도 함께 고려해야 한다.
  • K-means는 거리 기반 군집화에는 유용하지만 부하 가중치를 반영하기 어려워, 가중 K-means 계열 알고리즘을 검토할 수 있다.
  • Elasticsearch의 라우팅은 특정 샤드 번호를 직접 지정하는 기능이 아니므로, 해시 동작을 확인해 원하는 샤드로 연결하는 라우팅 테이블이 필요하다.
  • 샤드를 무조건 늘리면 샤드별 기본 자원과 결과 취합 비용이 커질 수 있으므로, 샤드 수와 라우팅 파티션을 함께 조정해야 한다.
  • 커스텀 샤딩에서는 모든 색인·검색 요청에 라우팅 정보를 일관되게 적용하고, 샤딩 서버 장애와 전체 지역 검색도 대비해야 한다.

소개

대용량, 대규모 데이터를 다룰 때 샤딩(sharding)은 필수적으로 고려해야 하는 요소예요. 하지만 샤딩을 잘 적용하기란 결코 쉬운 일이 아니에요. 저희 검색플랫폼팀은 대규모의 중고거래 게시글을 샤딩하면서 지역 기반이라는 서비스 특성까지 고려해야 했고, 이를 프로덕션에 적용하여 좋은 결과를 만들어냈어요. 이 세션은 지역 기반 샤딩 적용 과정을 소개하면서, 검색에 대한 배경지식 없이도 성능 개선과 비용 개선을 위해 샤딩을 적용하려고 검토 중인 분들께 좋은 인사이트가 되길 바라요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

비슷한 학습 자료

컨퍼런스 당근 밋업

처음 당근알바를 만들 때, GraphQL을 도입하며 고려했던 요소는 “웹뷰의 네이티브 같은 빠릿빠릿한 사용자 경험”, “빠른 개발 및 배포 사이클” 그리고 “웹 서비스로의 확장 가능성”이었어요. 4년이 지난 지금 이러한 결정을 되돌아보며, 사용자 경험과 생산성을 최우선으로 하는 팀에게 GraphQL Schema 기반 협업이 어떤 의미가 있는지 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

백엔드 애자일 · 협업

컨퍼런스 당근 밋업

당근 채팅 시스템이 탄생한 과정을 소개해요. 당근의 수많은 사용자들이 실시간으로 메시지를 주고받는 방법과 이를 효율적으로 저장하는 방식이 궁금하지 않으신가요? 이 세션에서는 먼저 메시지 전달의 기본 원리를 살펴본 후, 서버가 2대일 때 발생하는 메시지 동기화 방법과 서버 간 비동기 처리 방식을 설명해요. 저장 측면에서는 필요한 기능, 스키마 설계, 스케일 업, 인덱싱, 쿼리 최적화, 캐싱 기법 등 다양한 주제를 다루어요. 또한 리플리케이션과 샤딩, 채팅 데이터의 분할 방법 및 저장소 마이그레이션 경험을 쉽게 이야기하려 해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

백엔드 데이터베이스 네트워크

컨퍼런스 당근 밋업

중고거래에서 ‘겨울’을 검색하는 유저의 검색 의도는 무엇일까요? 키워드 매칭 기반의 검색이라면, 유저는 ‘겨울’이라는 단어가 들어간 중고거래 물품들만을 보게 돼요. 하지만 검색어가 직접적으로 언급되지 않은 ‘다운 패딩’ 같은 겨울 의류들은 검색되지 않을 거예요. 검색실에서는 EBR(Embedding-Based Retrieval)을 통해 유저들의 다양한 중고거래 검색 의도를 좀더 잘 이해할 수 있는 모델을 만들고 있어요. EBR을 사용하면 ‘겨울’이라는 단어가 등장하지 않더라도 의미가 가까운 겨울 관련 물품들이 발견될 수 있어요. 이 세션에서는 수억 건에 달하는 당근 중고거래 클릭 데이터로 Two-tower 기반의 EBR 모델을 효율적으로 학습하는 방법과 아주 적은 Human Label에 LLM을 더해 모델을 평가하는 방법을 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

딥러닝 · 머신러닝 자연어 처리

컨퍼런스 당근 밋업

“당근 SRE팀의 비용 관리 셀프서비스 도입 이야기” 클라우드 비용 관리에 지치셨나요? 당근 SRE팀은 엑셀 기반의 비효율적인 비용 관리에서 벗어나, 개발팀의 비용 관리 참여를 유도하는 셀프서비스를 구축했어요. 이 세션에서는 ‘Katalog’와 ‘Kost’라는 시스템을 통해 비용 투명성을 높이고 개발팀의 책임감을 향상시킨 당근 SRE팀의 경험을 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

데브옵스 · 인프라 클라우드

컨퍼런스 당근 밋업

당근 ML 밋업은 당근의 머신러닝 기술, 도전 과제 및 앞으로 방향성에 대해 공유하고, 서로 네트워킹 할 수 있는 행사예요. 🥕 LLM을 프로덕션에 적용하며 배운 것들 (박민우/Tech Core) 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/

AI에이전트 개발 로드맵 2개에 담김

컨퍼런스 당근 밋업

🥕 2026 당근 빌더 밋업 | Platform Day 하이퍼로컬, 가장 거대한 현장 4,300만 명이 가입한 서비스를 만드는 당근 빌더들은 어떤 문제를 풀고 있을까요? 하나의 프로덕트를 처음부터 끝까지 책임지고, 직군의 경계를 넘나들며 함께 답을 찾아가는 당근 빌더들의 고민과 시도, 성공과 실패의 경험을 솔직하게 나눠요. 엔지니어 동료들이 더 빠르게, 더 큰 문제에 집중할 수 있도록 당근의 플랫폼은 끊임없이 발전해요. 다양한 기술과 아키텍처를 여러 서비스가 함께 쓰는 플랫폼으로 만드는 과정부터 AI와 함께 일하는 새로운 방식까지, 당근 플랫폼 개발자들이 현장에서 마주한 고민과 시행착오를 만나보세요. 👉 당근 채용 바로가기 : https://careers.daangn.com/

데이터베이스