← 테크곳간 목록으로

Engineering - 라포랩스 팀블로그 · 2023. 03. 15.

플랫폼 서버 엔지니어의 pt-osc 도입기

AI 엔지니어링 브리핑

대용량 서비스에서 중단 없이 MySQL 구조를 변경하기 위해 pt-osc를 도입하고, 실제 운영 중 겪은 문제와 안전한 사용법을 정리한 글입니다.

문제 & 배경
  • 문제 & 배경: MySQL의 일반적인 온라인 변경 기능도 데이터가 크고 수정이 잦은 테이블에서는 작업이 느려지고 데이터베이스 부하로 장애가 발생할 수 있었습니다.
기술 & 해결책
  • 기술 & 해결책: pt-osc는 변경된 새 테이블에 데이터를 조금씩 복사하고 복사 중 발생한 변경 사항은 트리거로 반영한 뒤, 마지막에 테이블 이름을 빠르게 교체해 서비스 중단을 줄였습니다.
교훈 & 주의점
  • 교훈 & 주의점: AWS Aurora·복제·CDC·외래 키 환경에 맞게 옵션을 조정하고 CPU와 잠금을 반드시 관찰해야 하며, 작업이 긴 경우 Kubernetes Job으로 실행하고 트리거 데드락 같은 한계에는 gh-ost나 온라인 DDL도 함께 검토해야 합니다.
원문 읽기 ↗
내용이 비슷해요

내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.