스마트스토어센터 Oracle에서 MySQL로의 무중단 전환기
125
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 Oracle에서 MySQL로의 무중단 전환 사례를 공유하는 글입니다.
전환 전략
- 이중 쓰기(dual write) 채택으로 기존 Oracle과 신규 MySQL에 동시에 쓰기 수행, 데이터 정합성 검증 및 롤백 용이
- 전환 단계: 전환 전 Oracle 주사용 및 CUD만 MySQL에 백그라운드 이중 쓰기, 전체 데이터 마이그레이션으로 정합성 맞춤, 전환 후 MySQL 주사용 및 CUD는 Oracle에 이중 쓰기
기술적 해결
- JPA 이중 쓰기: datasource-proxy로 쿼리 캡처 후 TransactionSynchronizationManager로 커밋 시 MySQL에 일괄 실행, MySQL 실패는 트랜잭션 롤백에 영향 주지 않도록 처리
- 엔티티 변경: 시퀀스→IDENTITY 변경과 컬럼 정의를 MySQL 타입에 맞게 조정, PK 생성 방식 고려 필요
- MyBatis 이중 쓰기: CombinedSqlSessionFactory 프록시로 SqlSession을 양쪽 DB에 동시에 실행하도록 구현하고 MySQL용 SQL XML 세트 추가로 비즈니스 로직 수정 최소화


