배달의민족 모든 푸드주문 데이터, 서비스 중단 없이 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
장보기•쇼핑 성능 최적화 고군분투기: 웹 전환 과정에서의 경험과 교훈 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2025
글로벌 타깃팅 서비스, 수억 명의 고객을 향한 도전 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2024
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의 민족은 전국 식당들의 메뉴와 주문 뿐만아니라 커머스 대형 셀러들과 연동하여 실시간 배달 서비스를 제공하고 있습니다. 제공하는 서비스에서 발생하는 하루 평균 200억 건의 데이터가 흘러가는 시스템을 안정적으로 구축하고 운영한 사례를 공유드립니다. 1부: 시스템 아키텍처 편 대용량 데이터 처리 시스템을 도입하는 과정에서의 고민과 적용한 기술 그리고 아키텍처를 설명합니다. 2부: 음식 배달, 물건 배달 서비스 구축 편 데이터 정합성과 재처리 복원 등을 고려한 가장 안정적이고 지속가능한 시스템 구조를 만들기 위한 고민과 해결사례를 공유합니다. ㅤ 👉 발표자 소개ㅤ 김민중, 서버 개발자 장재주, 서버 개발자 윤보민, 서버 개발자 김병화, 서버 개발자
백엔드 데이터베이스
컨퍼런스 우아콘 2023
대규모 트랜잭션을 처리하는 배민 주문시스템 규모에 따른 진화 #우아콘2023 #우아한형제들
컨퍼런스 우아콘 2023
[WOOWACON2023 세션 다시보기] 👉 세션 설명 5년 전 배달의민족에 합류했을 때, 주문시스템은 급격하게 증가하는 주문수를 처리하기 어려운 시스템이었습니다. 5년간 주문시스템은 “주문DB 샤딩“, “CQRS 적용” 등 여러 작업들을 통해 일 300만 건 이상의 주문수를 처리하는 안정적인 시스템이 되었습니다. 대규모 트랜잭션을 처리하는 배민 주문시스템이 변화해간 내용을 공유합니다.ㅤ ㅤ 👉 발표자 소개ㅤ 푸드주문서버개발팀 강홍구 일 300만 건 이상의 주문수를 처리하는 배민 주문시스템 서버 개발을 하고 있습니다. 내가 만든 서비스를 누군가 사용해주면 보람을 느끼는 개발자입니다. 커머스 도메인은 하나도 몰랐던 제가 5년간 주문서비스를 개발하며 경험한 경험들을 공유하고 싶습니다. 👍 추천 대상 대용량 트래픽을 처리하는 도메인의 아키텍처가 궁금하신 분 🙋🏻♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍...
백엔드 데이터베이스