백엔드 커리큘럼 심화: Optimistic Lock, Pessimistic Lock, Atomic Update를 경쟁 비용 기준으로 고르는 법
동시성 제어는 락을 세게 거는 문제가 아니라 충돌 비용과 대기 비용을 어디에 둘지 정하는 일입니다. Optimistic Lock, Pessimistic Lock, Atomic Update를 실무 숫자 기준으로 비교합니다.
동시성 제어는 락을 세게 거는 문제가 아니라 충돌 비용과 대기 비용을 어디에 둘지 정하는 일입니다. Optimistic Lock, Pessimistic Lock, Atomic Update를 실무 숫자 기준으로 비교합니다.
캐시 패턴은 취향이 아니라 workload와 데이터 신뢰도 요구에 맞춰 골라야 합니다. Cache-Aside, Read-Through, Write-Through, Write-Behind를 실무 숫자와 조건으로 비교합니다.
인덱스를 더 만드는 대신, 어떤 조건의 데이터만 인덱싱하고 어떤 조회는 테이블 접근 없이 끝내야 하는지 실무 숫자 기준으로 정리합니다.
처리 시간이 길거나 외부 부작용이 있는 작업을 동기 API로 억지로 처리하지 않고, 202 Accepted와 operation resource로 분리해 안정적으로 운영하는 기준을 정리합니다.
읽기/쓰기 분리 다음 단계로, replica lag를 숫자로 보고 follower read를 허용하거나 차단하는 기준을 실무 관점에서 정리합니다.
DB 트랜잭션과 메시지 발행을 따로 처리할 때 생기는 이중 쓰기 문제를, Transactional Outbox와 CDC 조합으로 어떻게 줄일지 실무 기준과 숫자로 정리합니다.
PostgreSQL 인덱스가 왜 조용히 비대해지고, 어떤 지표에서 reindex를 결심해야 하며, fillfactor와 HOT update로 재발을 어떻게 줄일지 실무 기준으로 정리합니다.
LSM 기반 저장소에서 compaction debt와 tombstone storm를 어떤 지표로 보고, 어떤 상수로 운영하고, 언제 스키마를 바꿔야 하는지 실무 기준으로 정리합니다.
복제 DB나 분산 KV에서 quorum read/write를 언제 쓰고, 언제 포기해야 하는지, read repair와 hinted handoff를 어떤 숫자로 운영해야 하는지 실무 기준으로 정리합니다.
로그와 메트릭만으로 놓치기 쉬운 지연 전파를 분산 트레이싱으로 추적하는 도입 기준과 운영 체크포인트를 정리합니다.