$ ls tags/ / database
#database
2 posts
backend· 시리즈
비관적 락이 못 막은 write skew
pessimistic_write 락을 걸어둔 연차 차감에서 동시 신청 2건이 모두 승인돼 잔액이 음수가 됐다. 검증이 락 밖이면, 락은 lost update를 막아도 write skew를 막지 못한다.
2026.05.18 3 min read concurrency · database · pessimistic-lock · write-skew · testing
backend
연차 잔액을 컬럼 하나로 들지 않은 이유
연차 잔액을 balance 컬럼 하나로 들면 '며칠 남았나'는 알아도 '왜 그 숫자인가'는 모른다. 노무 분쟁과 감사가 걸린 숫자라, 회계 장부처럼 append-only 원장으로 모델링했다.
2026.05.15 3 min read database · typeorm · ledger · audit · concurrency