TIL - DB Migration Methods
DW 제안서 작업하면서 알게 된 마이그레이션 관련 용어들 정리.
📚 배경
DW 시스템 마이그레이션 제안서 논의 중 나온 용어들:
- CDC
- OGG (Oracle GoldenGate)
- TTS (Transportable Tablespace)
- Big Bang vs Agile Migration
🔄 마이그레이션 방식
Big Bang Migration
한 번에 전체 전환하는 방식.
D-Day: 기존 시스템 중단 → 데이터 이관 → 신규 시스템 오픈
└─────────── 다운타임 (몇 시간~며칠) ───────────┘
| 장점 | 단점 |
|---|---|
| 깔끔함 (한 번에 끝) | 리스크 큼 |
| 병행 운영 부담 없음 | 긴 다운타임 |
| 롤백 어려움 |
Phased / Agile Migration
단계적으로 전환하는 방식.
Phase 1: 일부 이관 → 검증
Phase 2: 추가 이관 → 검증
...
Phase N: 최종 전환
| 장점 | 단점 |
|---|---|
| 리스크 분산 | 병행 운영 복잡 |
| 롤백 쉬움 | 기간 길어질 수 있음 |
| 다운타임 최소화 | CDC 같은 동기화 기술 필요 |
언제 뭘 쓰나
| 상황 | 권장 방식 |
|---|---|
| 소규모, 단순한 시스템 | Big Bang |
| 대규모, 미션크리티컬 | Phased + CDC |
| 24/7 운영 필수 | Phased + CDC |
📡 CDC (Change Data Capture)
변경된 데이터만 캡처해서 전달하는 기술.
왜 필요한가
기존 방식 (Full Load):
운영 DB ─── 매일 밤 전체 복사 ───▶ DW
(느림, 부하 큼)
CDC 방식:
운영 DB ─── 변경분만 실시간 ───▶ DW
(빠름, 부하 적음)
CDC 방식
| 방식 | 설명 |
|---|---|
| Log-based | DB 트랜잭션 로그 읽기 (성능 좋음) |
| Trigger-based | DB 트리거로 감지 (DB 부하 있음) |
| Timestamp-based | 수정일시 컬럼 비교 (DELETE 못 잡음) |
주요 CDC 솔루션
| 솔루션 | 특징 |
|---|---|
| Oracle GoldenGate (OGG) | 상용, Oracle 특화 |
| SharePlex | Quest, Oracle 복제 |
| Debezium | 오픈소스, Kafka 연동 |
| AWS DMS | 클라우드, 마이그레이션용 |
🔶 OGG (Oracle GoldenGate)
Oracle의 실시간 데이터 복제/CDC 솔루션.
Source DB ──── OGG ────▶ Target DB
(실시간 복제)
| 항목 | 설명 |
|---|---|
| 용도 | DB 간 실시간 복제, CDC |
| 방식 | 트랜잭션 로그 기반 (Log-based) |
| 특징 | Oracle 특화, 이기종 DB도 지원 |
| 사용처 | DW 동기화, DR 구성, 마이그레이션 |
📦 TTS (Transportable Tablespace)
Oracle의 대용량 데이터 이관 기능.
테이블스페이스 단위로 데이터 파일을 통째로 복사.
Source DB Target DB
│ │
├── datafile.dbf ─── 복사 ────▶ ├── datafile.dbf
└── metadata export ──────────▶ └── metadata import
| 항목 | 설명 |
|---|---|
| 용도 | 대용량 데이터 빠른 이관 |
| 장점 | 일반 export/import보다 훨씬 빠름 |
| 사용처 | DW 초기 데이터 이관 |
🔗 TTS + OGG 조합
Agile Migration에서 자주 쓰는 조합.
┌─────────────────────────────────────────────────────────┐
│ Phase 1: TTS로 초기 데이터 이관 │
│ (대용량 데이터 빠르게 복사) │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Phase 2: OGG로 변경분 실시간 동기화 │
│ (CDC로 기존/신규 시스템 동기화 유지) │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Phase 3: 검증 후 전환 │
│ (문제 없으면 신규 시스템으로 전환) │
└─────────────────────────────────────────────────────────┘
| 단계 | 기술 | 역할 |
|---|---|---|
| 초기 이관 | TTS | 대용량 빠르게 복사 |
| 동기화 | OGG | 변경분 실시간 반영 |
| 전환 | - | 검증 후 cutover |
💡 정리
- Big Bang: 한 번에 전환, 리스크 큼
- Agile/Phased: 단계적 전환, CDC 필요
- CDC: 변경 데이터만 캡처, 실시간 동기화
- OGG: Oracle CDC 솔루션
- TTS: 대용량 초기 이관용
- TTS + OGG: 초기 이관 + 실시간 동기화 조합