pile·
백엔드·11번가11번가·

전시 딜 내재화 프로젝트 회고: MongoDB 기반 데이터 구축과 API 개선 과정

11번가 프레젠테이션 서비스 팀이 외부 Oracle DB에 의존하던 딜(기획행사) 정보 관리를 MongoDB 기반 내재화 시스템으로 전환한 프로젝트 회고다. Kafka ZeroPayload 패턴, 멀티스레드 처리, 기능 플래그 기반 롤백, 이중 검증 체계까지 실전 전환 과정의 함정과 해결책을 상세히 공유한다.

핵심 포인트
  • Oracle PL/SQL 프로시저 → MongoDB + Kafka 파이프라인으로 전환해 API 호출당 이중 DB 풀 연결 소비 제거
  • Kafka ZeroPayload 패턴(키만 전송)과 딜 중요도별 토픽 분리로 메시지 처리 효율화 및 우선순위 역전 방지
  • 기능 플래그(Feature Flag)로 Oracle ↔ MongoDB 즉각 전환, 재배포 없이 4개 롤백 지점 → 단일 스테이지로 단순화
  • 임베디드 문서 동기화 문제: 딜 내 상품 정보 중복 저장 → 참조 정규화로 전환해 상품 변경 시 불일치 해소
  • 이중 검증 체계: MongoDB vs Oracle 데이터 비교 + API 응답 비교, ELK 스택으로 중앙화된 검증 대시보드
상세 정리
  • 기존 구조: MongoDB(상품) + OracleDB(딜) 이중 조회 후 API에서 합산, 커넥션 풀 2배 소비
  • 전환 이유: 1) API 호출당 Oracle/MongoDB 두 커넥션 풀 소비 2) 디버깅 시 두 시스템 동시 조사 3) 딜 로직 변경 시 Oracle 프로시저 수정 필요
  • TO-BE 흐름: 원본 DB → Kafka 발행(ZeroPayload) → 컨슈머 처리 → MongoDB 저장 → API 조회
  • 시간 민감 딜과 대용량 딜을 별도 배치로 분리해 갱신 속도 차별화
  • 멀티스레드 추출(thread-pool=5)과 멀티스레드 컨슘(concurrency=3)으로 처리량 확대
  • 쿼리 패턴에 최적화된 단일·복합 인덱스 설계로 응답 성능 확보
  • 데이터 증가 함정: 16만 → 37만 레코드로 증가해 배치 주기가 1-2분에서 10분으로 저하 → 멀티스레드 + 토픽 분리로 해결
  • 검증 함정: 저장 데이터만 검증했다가 로직 레이어 결함 미탐지 → API 응답 최종 비교로 보완
  • 결과: Oracle 커넥션 병목 제거, API 레이턴시 감소, 단일 디버깅 표면(MongoDB만), Oracle 의존성·비용 제거
왜 읽나외부 레거시 DB(Oracle)를 내부 NoSQL(MongoDB)로 무중단 전환하면서 Kafka 파이프라인, 기능 플래그, 이중 검증을 엮어 실제로 겪은 함정과 해결책을 솔직하게 공유하는 실전 회고다.
11번가
11번가 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·twilio-engTwilio Engineering·

    Programmable Messaging에서 Verify API로 마이그레이션하기

    Twilio의 Programmable Messaging API로 자체 OTP 솔루션을 운영하던 서비스가 Verify API로 전환하는 방법을 코드 예시와 함께 설명한다. Verify는 OTP 전송·검증을 위한 전용 API로, 전화번호 구매, 토큰 생성, DB 저장·만료 관리를 내부에서 처리해 개발자가 직접 구현할 코드를 크게 줄인다.

    요약 이어보기
    #authentication#twilio#sms+2
  2. 백엔드·포스타입포스타입·

    포스타입이 개인화 추천을 하는 방법 2부

    포스타입 백엔드 엔지니어가 벡터 기반 개인화 추천 시스템을 실제 운영하며 맞닥뜨린 성능 장애와 용량 문제를 해결한 과정을 담은 2부다. 수백만 개의 벡터 KNN 검색이 피크 시간대에 전체 Elasticsearch 검색 성능을 흔드는 문제부터 클러스터 OOM 사태까지, 쿼리 최적화와 인프라 분리 두 가지 경로로 근본 해결에 이른다.

    요약 이어보기
    #elasticsearch#vector-search#recommendation-system+2
  3. 백엔드·포스타입포스타입·

    포스타입이 개인화 추천을 하는 방법 1부

    포스타입이 태그 기반 추천의 한계를 극복하고 벡터 임베딩 기반 개인화 추천 시스템을 구축한 과정을 담은 1부다. 유사한 콘텐츠가 다른 용어를 쓰거나 동일한 태그가 전혀 다른 톤의 콘텐츠를 가리키는 문제를 임베딩 벡터로 해결하고, OpenSearch의 HNSW ANN 검색으로 수백만 벡터를 실시간 검색하는 시스템을 구축해 구매율 15% 향상을 달성했다.

    요약 이어보기
    #opensearch#vector-search#recommendation-system+2