피드로 돌아가기
올리브영 테크블로그Database
원문 읽기
올리브영 전시영역 MongoDB 도입하기
올리브영이 관계형 데이터베이스의 공통 컬럼 구조를 MongoDB의 Schema-less 문서 저장소로 전환해 전시영역 데이터 가공 작업 제거
AI 요약
Context
올리브영 전시영역은 배너, 추천상품, 브랜드 등 다양한 형태의 코너를 관계형 데이터베이스의 공통 컬럼에 관리했다. 이로 인해 컬럼의 목적이 명확하지 않아 문서에 의존해야 했고, 컨텐츠 구성 변경 시 많은 공수가 필요했으며, JSON 데이터로 변환할 때마다 다량의 가공작업이 필수였다.
Technical Solution
- 데이터베이스를 관계형에서 MongoDB로 전환: 테이블-컬럼 구조 대신 컬렉션 내 JSON 형태의 문서 저장
- Schema-less 구조 도입: 코너 형태에 따라 문서 구조를 유동적으로 구성하고 객체 형태로 각각의 데이터 관리
- BSON 인코딩 활용: JSON 텍스트 기반 분석의 느린 성능을 BSON으로 변경해 읽기 효율성 증대
- 버저닝 관리 전략 수립: 데이터를 현재 활성화된 안정화 데이터 영역과 과거 기록/미래 예정 데이터 영역으로 분리
- Replica Set 구성: 안정적인 복제 세트를 통해 가용성 확보
실천 포인트
비규칙적인 스키마의 컨텐츠를 관리하는 서비스에서 MongoDB의 Schema-less 구조를 도입하면 공통 컬럼 기반 관리에서 발생하던 데이터 가공 단계를 제거하고, 버저닝 전략으로 활성/비활성 데이터를 분리해 클라이언트가 추가 조건 검사 없이 최신 안정화 데이터만 조회할 수 있다.