백엔드 커리큘럼 심화: UPSERT, UNIQUE 제약, 멱등 키를 쓰기 경로 기준으로 고르는 법
중복 요청과 재처리를 막을 때 UPSERT, UNIQUE 제약, 멱등 키를 언제 어떻게 조합해야 하는지 쓰기 경로 기준으로 정리합니다.
중복 요청과 재처리를 막을 때 UPSERT, UNIQUE 제약, 멱등 키를 언제 어떻게 조합해야 하는지 쓰기 경로 기준으로 정리합니다.
동시성 제어는 락을 세게 거는 문제가 아니라 충돌 비용과 대기 비용을 어디에 둘지 정하는 일입니다. Optimistic Lock, Pessimistic Lock, Atomic Update를 실무 숫자 기준으로 비교합니다.
인덱스를 더 만드는 대신, 어떤 조건의 데이터만 인덱싱하고 어떤 조회는 테이블 접근 없이 끝내야 하는지 실무 숫자 기준으로 정리합니다.
트랜잭션 격리 수준을 이론으로만 외우지 않고, write skew가 실제로 언제 터지는지, Snapshot Isolation과 Serializable을 어떤 기준으로 고를지 운영 숫자와 함께 정리합니다.
DB 메이저 버전 업그레이드를 단순 점검이 아니라 운영 가능한 전환 절차로 다룹니다. 호환성 확인, 쿼리 플랜 회귀 감지, 트래픽 승격/롤백 기준까지 숫자 중심으로 정리합니다.
배포 후 갑자기 느려지는 SQL 실행계획 회귀를 예방하고, 30분 내 완화할 수 있도록 Plan Baseline·통계 관리·카나리 검증·런북 기준을 실무 숫자로 정리합니다.
DB 락 경합을 측정하고 완화하는 실무 기준: 대기 시간, 충돌 패턴, 트랜잭션 설계, 운영 체크리스트
서비스를 멈추지 않고 DB 스키마를 변경할 때 필요한 실무 기준, 트레이드오프, 흔한 실수와 점검 루틴을 정리합니다.
슬로우 쿼리 로그, 커넥션 풀(HikariCP) 파라미터, 실행 계획 튜닝 포인트
B-Tree/컴포지트 인덱스 설계, EXPLAIN으로 실행 계획을 해석하고 튜닝하는 방법