목록 보기
스마트스토어센터 Oracle에서 MySQL로의 무중단 전환기
백엔드

스마트스토어센터 Oracle에서 MySQL로의 무중단 전환기

네이버 D2
네이버 D2
2026년 1월 21일

두줄요약

스마트스토어센터가 Oracle에서 MySQL로 무중단 전환한 방법을 이중 쓰기 중심으로 설명했습니다. JPA와 MyBatis에서의 트랜잭션 처리, PK와 컬럼 타입 조정까지 다뤘습니다.

문제 상황

  • 스마트스토어 플랫폼의 공용 Oracle DBMS에서 리소스 경합이 심화되며 성능 불안정 발생
  • Oracle 확장에 따른 라이선스 비용 부담과 10년 이상 레거시 서비스의 무중단 전환 필요
  • 타 시스템과의 광범위한 연동으로 서비스 중단 없이 DBMS 전환과 즉시 롤백 가능성 확보 필요

해결 방법

  • Oracle과 MySQL에 동시에 쓰기하는 이중 쓰기 전략으로 전환 안전장치 마련
  • JPA는 datasource-proxy와 TransactionSynchronizationManager로 커밋 후 MySQL 반영 구조 구성
  • MyBatis는 CombinedSqlSessionFactory와 Proxy 기반으로 Oracle, MySQL 양쪽 SQL 실행 구조 구현

주의할 점

  • 전환 초기에는 MySQL 실패를 트랜잭션 롤백과 분리해 허용하고 정합성 검증 반복 필요
  • Oracle 시퀀스와 MySQL auto increment 차이로 PK 생성 방식 수정 필요
  • Oracle과 MySQL의 칼럼 타입 차이에 맞춘 엔티티 정의 조정 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...