데이터·시스템 이관 계획서 작성법과 템플릿
StackSide 운영자

이관은 범위를 먼저 자른다
이관 계획의 첫 줄은 “무엇을 옮기는가”가 아니라 “무엇을 옮기지 않는가”여야 합니다. 옮기지 않는 데이터, 이관 중에도 계속 돌아야 하는 기능을 먼저 정하면 일정이 현실적으로 보입니다.
광고 노출 데이터처럼 트래픽이 큰 경우, 이관은 데이터를 한 번에 옮기는 작업이 아니라 파티션 단위로 나눠 옮기는 작업입니다. 우아한형제들은 수천만 건 규모의 광고 노출 트래픽을 무중단으로 파티셔닝하며 이관했습니다.
배달의민족 광고데이터 이관기 - 우아한형제들 기술블로그
기술: MySQL, Kafka, Spring Boot
규모: 수천만 건 광고 노출 트래픽
대규모 광고 트래픽 처리를 위한 무중단 데이터베이스 파티셔닝 및 이관 작업
이중 쓰기 기간을 계획에 넣기
새 저장소와 기존 저장소에 함께 쓰는 기간이 있어야 검증이 가능합니다. 결제 잔액처럼 일관성이 중요한 데이터는 이 기간과 비교 방법을 계획의 중심에 둬야 합니다. 메루카리는 강한 일관성을 지키면서 무중단으로 잔액 시스템을 옮기는 설계를 공개했습니다.
Designing a Zero Downtime Migration Solution with Strong Data Consistency
기술: Cloud Spanner, gRPC, Go, Kubernetes
규모: 대규모 결제 잔액 시스템
강한 일관성 기반 무중단 결제 잔액 마이그레이션 설계
규모가 크면 단계를 더 잘게 나누기
공통 저장소의 규모가 커지면 한 번에 옮기지 않고 단위를 나눕니다. 깃허브는 에이전트 트래픽 확장을 위해 Git 인프라를 클라우드로 옮긴 사례를 공유합니다. 트래픽 규모가 전 세계 Git 트래픽의 절반이라는 점이 계획의 출발점이 됩니다.
The bridge to agent-scale Git infrastructure
기술: Git, Azure, Linux
규모: 전 세계 Git 트래픽의 절반
에이전트 트래픽 확장을 위한 Git 인프라 클라우드 이전
모노레포 도구 전환의 검증
빌드 도구나 런타임을 함께 바꾸는 이관은 검증 항목이 많습니다. 컬리는 모노레포의 Nx를 메이저 버전 여러 단계 올리면서 Bun 환경까지 바꿨습니다. 이런 경우 계획에는 빌드 결과 비교와 실행 환경 비교를 각각 넣습니다.
Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션
기술: Nx, Bun, TypeScript, Node.js
규모: 컬리 프론트엔드 모노레포
모노레포 빌드 도구 Nx 메이저 업그레이드와 런타임 번 환경 마이그레이션 경험
템플릿(복사용)
## 1. 이관 범위 - 옮길 데이터(또는 시스템)와 제외 항목 - 이관 중에도 유지해야 하는 것 ## 2. 단계 | 단계 | 할 일 | 끝났다고 볼 조건 | |---|---|---| | 준비 | | | | 이중 쓰기 | | | | 검증 | | | | 전환 | | | | 정리 | | | ## 3. 검증 방법 - 비교 대상, 샘플링 방식, 허용 오차 ## 4. 롤백 조건 - 되돌릴 지표와 임계값, 되돌리는 절차 ## 5. 담당과 일정 - 담당자, 확인할 사람
## 1. 이관 범위
- 옮길 데이터(또는 시스템)와 제외 항목
- 이관 중에도 유지해야 하는 것
## 2. 단계
| 단계 | 할 일 | 끝났다고 볼 조건 |
|---|---|---|
| 준비 | | |
| 이중 쓰기 | | |
| 검증 | | |
| 전환 | | |
| 정리 | | |
## 3. 검증 방법
- 비교 대상, 샘플링 방식, 허용 오차
## 4. 롤백 조건
- 되돌릴 지표와 임계값, 되돌리는 절차
## 5. 담당과 일정
- 담당자, 확인할 사람
이 가이드에 인용한 사례는 공개된 글과 영상을 자동으로 정리한 것이라 틀릴 수 있습니다. 인용한 내용은 원문 링크에서 확인하세요. 면책조항 보기
새 사례를 매주 받아봅니다
새로 추가된 주제와 사례를 주 1회 메일로 받습니다.
주 1회, 새로 추가된 주제와 사례만 보냅니다. 언제든 해지할 수 있습니다.
Google 계정으로 로그인해 신청합니다. 이메일·이름·프로필 사진이 저장되며, 만 14세 이상만 신청할 수 있습니다. 개인정보처리방침