운영 중인 큰 테이블에 컬럼 추가하기 — 온라인 DDL과 gh-ost 사이에서
2026.09.12컬럼 하나 추가하는 ALTER가 왜 서비스 전면 장애가 되는가. 메타데이터 락이 쌓이는 경로를 진단하고, INSTANT·INPLACE·COPY와 gh-ost·pt-osc를 언제 고르는지 정리합니다.
// all posts
컬럼 하나 추가하는 ALTER가 왜 서비스 전면 장애가 되는가. 메타데이터 락이 쌓이는 경로를 진단하고, INSTANT·INPLACE·COPY와 gh-ost·pt-osc를 언제 고르는지 정리합니다.
알림장·관찰기록 같은 교사 행정 문서를 LLM으로 돕는 서비스의 설계 결정들. 프롬프트를 코드처럼 관리하는 방법, RAG, SSE 스트리밍, 할루시네이션 방지 장치, 토큰 비용이 새는 지점.
.gitlab-ci.yml 키워드를 GitHub Actions와 하나씩 대조한 메모. stages와 needs, 캐시와 아티팩트의 차이, 도커 이미지 빌드, rules와 승인 게이트, 기본값이 달라 걸리는 지점들.
GitHub App 인증부터 웹훅 서명 검증, 이벤트 해석, chat.update로 원본 메시지를 갱신하는 방식까지. 알림만 쏘는 봇과 상태를 맞추는 연동은 만드는 법이 다릅니다.
리드 리플리카에서 증분 추출해 별도 집계 DB에 적재하고 Superset으로 시각화하는 구조. 복제 지연, 워터마크, 멱등한 재실행까지.
표준 지원이 끝난 RDS 엔진 버전을 무중단에 가깝게 올리는 절차. 사전 조건, 그린 환경 검증, 전환 시점에 실제로 일어나는 일과 되돌릴 수 없는 지점.
클레이튼 CN(합의 노드)을 운영하며 부딪힌 것들. 상태 데이터가 디스크를 잠식하는 문제와 State Migration, 합의 참여를 끊지 않고 재시작하는 절차.
자체 구현 인증을 Amazon Cognito로 옮기는 절차. 비밀번호 해시를 이전할 수 없다는 제약에서 출발해, Migration 람다로 로그인 시점에 하나씩 넘기는 방법.
NFT 멤버십 서비스에서 보유 목록·거래 내역을 조회하기 위해 subgraph를 만든 과정. 스키마 설계부터 매핑 핸들러, 운영 시 주의점까지.
구글·애플 계정으로 로그인해서 온체인 지갑을 쓰게 만드는 구조. UserOperation부터 Paymaster 가스 대납까지 정리합니다.
쿠버네티스(EKS)로 운영하던 서비스를 ECS로 옮기는 절차 정리. 리소스 매핑, 태스크 정의 작성, ALB 가중치 라우팅으로 무중단 이전하기.
S3에 올린 유료 영상을 권한 있는 사용자에게만 재생시키는 방법. Signed URL 대신 Signed Cookie를 쓰는 이유와 AWS SDK v3로 서명 쿠키를 발급하는 코드 정리.