본문 바로가기

MySQL2

다운타임 없는 DB 마이그레이션 완전 가이드: PostgreSQL & MySQL(Online DDL, gh-ost/pt-osc, Expand→Migrate→Contract) 다운타임 없는 DB 마이그레이션 완전 가이드: PostgreSQL & MySQL(Online DDL, gh-ost/pt-osc, Expand→Migrate→Contract)웹 서비스가 커질수록 스키마 변경은 필수가 됩니다. 문제는 잘못된 DDL 한 번으로 락이 길게 잡히거나재인덱싱으로 I/O가 폭증해 다운타임을 유발한다는 점이죠. 이 글은 PostgreSQL·MySQL 운영 환경에서무중단에 초점을 맞춘 Expand→Migrate→Contract 3단계 전략과, Online DDL,gh-ost/pt-osc 같은 도구 활용, 그리고 배포 파이프라인과의 연계를 실전 템플릿으로 정리합니다.1) 원칙: Expand → Migrate → Contract (EMC) Expand: 서비스 중단 없이 추가만 수행(새 .. 2025. 10. 28.
Testcontainers로 DB 통합테스트: Docker 이미지까지 자동 띄우는 실전 가이드 Testcontainers로 DB 통합테스트: Docker 이미지까지 자동 띄우는 실전 가이드로컬에서 통합테스트를 돌릴 때마다“로컬 DB 켰나?” “테스트용 스키마는?” “동료 환경은 또 왜 깨졌지?”이런 문제를 반복해서 겪어본 적이 있을 겁니다.Testcontainers는 이런 고민을 줄여주기 위해,테스트 코드 안에서 직접 Docker 컨테이너를 띄우고 내리는 방식으로테스트마다 깨끗한 DB 환경을 자동으로 만들어 주는 라이브러리입니다.이 글에서는 Spring Boot + JPA + PostgreSQL 조합을 기준으로,Testcontainers로 DB 통합테스트를 설계하고 운영하는 방법을 정리합니다. 1. 왜 DB 통합테스트에 Testcontainers를 쓰는가?전통적인 통합테스트는 보통 이렇게 진행됩니.. 2025. 10. 10.