본문으로 이동
배달의민족 모든 푸드주문 데이터, 서비스 중단 없이 DocumentDB 전환하기 #우아콘2025 #우아한형제들
컨퍼런스

배달의민족 모든 푸드주문 데이터, 서비스 중단 없이 DocumentDB 전환하기 #우아콘2025 #우아한형제들

우아콘 2025 우아한형제들 · YouTube

원문 보기

AI 핵심 요약

배달의민족 푸드 주문의 수십억 건 데이터를 MongoDB에서 AWS DocumentDB로 옮기면서, 운영 단일화와 비용 절감을 추진하되 무중단과 데이터 정합성을 최우선으로 삼았다. 변경이 적은 데이터는 `mongodump`·`mongorestore`로 옮기고 실시간 변경분은 Kafka 기반 CDC로 동기화했으며, 이벤트 키를 문서 ID로 맞춰 순서를 보장했다. 애플리케이션에는 단계적 읽기 전환과 양쪽 조회 결과 비교를 적용하고, 성능·인덱스·정합성을 검증한 뒤 쓰기 전환과 롤백 계획까지 마련했다. 이 과정에서 인덱스 선택 오류와 대용량 인덱스 생성 결함 등을 해결해 서비스 중단 없이 전환을 마쳤고, 비용을 약 45% 절감했다.

  • CDC 이벤트의 Kafka 키를 문서 ID로 고정해야 같은 문서의 생성·수정 순서가 뒤바뀌는 일을 막을 수 있다.
  • 대량 덤프에서는 필드의 실제 BSON 타입과 샤드 청크 이동 시점을 확인하고, 인덱스 빌드 중에는 로컬 스토리지도 모니터링해야 한다.
  • DocumentDB의 커서 유휴 시간 제한은 변경할 수 없으므로 배치 크기나 페이징을 조정해 다음 getMore 요청이 늦어지지 않게 한다.
  • 읽기 전환은 트래픽을 단계적으로 늘리고 두 DB의 결과를 비교해 불일치 시 기존 DB 응답을 반환하는 방식으로 검증할 수 있다.
  • 쓰기 전환 전에 역동기화와 데이터 소스 전환 수단을 마련하면 문제가 생겼을 때 롤백 시간을 줄일 수 있다.

소개

[세션 설명] 배달의민족의 핵심 푸드주문 서비스 데이터베이스를 AWS DocumentDB로 이관한 과정을 공유합니다. 이번 세션에서는 모든 푸드 주문 데이터를 서비스 중단 없이 안전하게 이전하기 위해 세웠던 전략과, 실제 이관 과정에서 마주쳤던 다양한 문제들을 다루고자 합니다. 전환을 통해 월간 비용을 약 절반 가까이 절감하는 성과도 얻을 수 있었으며, 이 과정에서 DBA로서 고려했던 데이터 정합성, 성능 검증, 장애 대응 전략뿐 아니라, 백엔드 개발자로서 서비스에 영향을 최소화하기 위해 고민했던 코드 변경과 트래픽 전환 과정도 함께 소개합니다. [발표자 소개] 김가림(데이터베이스 엔지니어), 박수영(서버 개발자)

이 자료가 담긴 로드맵

커뮤니티에서 더 보기

비슷한 학습 자료

컨퍼런스 우아콘 2025

[세션 설명] 기존 MQTT와 Polling 기반의 알림 시스템의 한계를 넘어, Server-Sent Events(SSE)를 도입해 더 빠르고 효율적인 실시간 알림 인프라를 구축했습니다. 단순히 기술을 교체하는 것을 넘어, 배달의민족 비즈니스에 맞춰 SSE를 최적화하고 메시지 신뢰성을 확보한 과정의 핵심 기술과 노하우를 공유합니다. [발표자 소개] 한우석(서버 개발자)

백엔드 네트워크

컨퍼런스 우아콘 2025

[세션 설명] 장보기∙쇼핑 가게홈의 웹 전환은 단순한 기술 변경이 아니라 성능과 사용자 경험을 동시에 지켜내야 하는 도전이었습니다. 여러 차례 시도와 개선 끝에 적용된 다양한 최적화 기법과 성과를 소개하며, 서비스 전환 시 반드시 고려해야 할 핵심 포인트를 공유합니다. [발표자 소개] 우희제(프런트엔드 개발자)

웹 개발 프론트엔드

컨퍼런스 우아콘 2025

[세션 설명] 타깃팅 서비스로 출발한 BUDS는, 글로벌 시장을 위한 대규모 API 플랫폼으로 성장했습니다. 국가별 서비스 확장 과정에서 DB 스키마 복잡성, 수만 TPS 처리, 비용 최적화라는 난관을 마주했고, 이를 해결하기 위해 AOP 기반 where절 자동화, DynamoDB 활용, 아키텍처 재설계를 시도했습니다. 코드 변경 최소화부터 운영 경험까지, 글로벌 확장의 여정을 공유합니다. [발표자 소개] 박영재(서버 개발자)

백엔드 데이터베이스 클라우드

컨퍼런스 우아콘 2025

[세션 설명] B마트 가격 시스템 마이그레이션 여정을 소개합니다. 새로운 플랫폼으로 이관하며 마주친 기술·정책·일정 등의 여러가지 난제들을 풀기위하여 ADR(Architecture Decision Record)을 적용해 전략을 수립하고 기술(기능플래그, CDC, 프록시 등)을 통하여 무중단 배포와 시스템 안정성을 확보한 과정을 공유합니다. [발표자 소개] 김민태(서버 개발자), 허영범(서버 개발자)

백엔드 데브옵스 · 인프라 애자일 · 협업

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의 민족은 전국 식당들의 메뉴와 주문 뿐만아니라 커머스 대형 셀러들과 연동하여 실시간 배달 서비스를 제공하고 있습니다. 제공하는 서비스에서 발생하는 하루 평균 200억 건의 데이터가 흘러가는 시스템을 안정적으로 구축하고 운영한 사례를 공유드립니다. 1부: 시스템 아키텍처 편 대용량 데이터 처리 시스템을 도입하는 과정에서의 고민과 적용한 기술 그리고 아키텍처를 설명합니다. 2부: 음식 배달, 물건 배달 서비스 구축 편 데이터 정합성과 재처리 복원 등을 고려한 가장 안정적이고 지속가능한 시스템 구조를 만들기 위한 고민과 해결사례를 공유합니다. ㅤ 👉 발표자 소개ㅤ 김민중, 서버 개발자 장재주, 서버 개발자 윤보민, 서버 개발자 김병화, 서버 개발자

백엔드 데이터베이스

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 5년 전 배달의민족에 합류했을 때, 주문시스템은 급격하게 증가하는 주문수를 처리하기 어려운 시스템이었습니다. 5년간 주문시스템은 “주문DB 샤딩“, “CQRS 적용” 등 여러 작업들을 통해 일 300만 건 이상의 주문수를 처리하는 안정적인 시스템이 되었습니다. 대규모 트랜잭션을 처리하는 배민 주문시스템이 변화해간 내용을 공유합니다.ㅤ ㅤ 👉 발표자 소개ㅤ 푸드주문서버개발팀 강홍구 일 300만 건 이상의 주문수를 처리하는 배민 주문시스템 서버 개발을 하고 있습니다. 내가 만든 서비스를 누군가 사용해주면 보람을 느끼는 개발자입니다. 커머스 도메인은 하나도 몰랐던 제가 5년간 주문서비스를 개발하며 경험한 경험들을 공유하고 싶습니다. 👍 추천 대상 대용량 트래픽을 처리하는 도메인의 아키텍처가 궁금하신 분 🙋🏻‍♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍...

백엔드 데이터베이스