피드로 돌아가기
Dev.toBackend
원문 읽기
SAP Commerce가 Staged/Online 카탈로그 이중 버전 모델과 CatalogVersionSyncJob을 통해 라이브 데이터 직접 편집 방식의 문제를 제거하고 원자성 있는 데이터 동기화 구현
SAP Commerce Catalog System Deep Dive: Staged Content, Synchronization, and Multi-Catalog Architecture
AI 요약
Context
제품 카탈로그 편집 시 변경사항이 즉시 고객에게 노출되는 문제로 인해 프로모션 시간 설정, 데이터 일관성 유지, 롤백 불가능 상황 발생. 멀티 카탈로그 환경에서는 버전 간 참조 해석, 미디어 동기화, 관계 일관성 유지가 복잡해짐.
Technical Solution
- Staged/Online 이중 버전 모델 도입: 모든 카탈로그에 최소 2개 버전 구성으로 편집(Staged)과 서빙(Online) 분리
- CatalogVersionSyncJob 기반 동기화: sourceVersion→targetVersion 매핑으로 createNewItems, removeMissingItems 파라미터를 통한 제어 가능한 동기화
- 카탈로그 인식 아이템 타입 확장: Product, Category, Media, Keyword 등 표준 타입에 catalogVersion 속성 추가로 커스텀 타입도 동기화 대상화
- 동기화 내부 프로세스: 변경 항목 식별 → 데이터 복사 → 카탈로그 버전별 참조 해석 → 미디어 및 관계 일관성 유지 순서로 실행
- FlexibleSearch 쿼리 필터링: 모든 조회에 catalogVersion 조건 포함하여 버전 간 데이터 혼재 방지
Key Takeaway
SAP Commerce 카탈로그 시스템의 핵심은 Staged에서만 편집하고 Online은 읽기 전용으로 유지하되, 동기화 과정에서 참조 해석과 미디어 바이너리 데이터까지 원자성 있게 처리하는 것이 멀티 카탈로그 아키텍처의 데이터 일관성을 보장한다.
실천 포인트
SAP Commerce를 운영하는 팀에서 카탈로그 기반 멀티 브랜드/멀티 국가 구조를 설계할 때, Staged 버전에서만 모든 변경을 수행하고 CatalogVersionSyncJob을 오프피크 시간에 증분 동기화(incremental sync)로 실행하며, FlexibleSearch 쿼리에 명시적으로 catalogVersion 필터를 포함하면 데이터 혼재 버그와 동기화 일관성 문제를 근본적으로 제거할 수 있다.