백엔드 커리큘럼 심화: Partial Index와 Covering Index로 느린 조회와 과한 쓰기 비용을 같이 줄이는 법
인덱스를 더 만드는 대신, 어떤 조건의 데이터만 인덱싱하고 어떤 조회는 테이블 접근 없이 끝내야 하는지 실무 숫자 기준으로 정리합니다.
인덱스를 더 만드는 대신, 어떤 조건의 데이터만 인덱싱하고 어떤 조회는 테이블 접근 없이 끝내야 하는지 실무 숫자 기준으로 정리합니다.
처리 시간이 길거나 외부 부작용이 있는 작업을 동기 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를 어떤 숫자로 운영해야 하는지 실무 기준으로 정리합니다.
로그와 메트릭만으로 놓치기 쉬운 지연 전파를 분산 트레이싱으로 추적하는 도입 기준과 운영 체크포인트를 정리합니다.
여러 다운스트림을 한 요청에 묶는 API Composition을 설계할 때 fan-out, timeout budget, partial failure, 캐시, ownership을 숫자 기준으로 정리합니다.
캐시 워밍, 콜드 스타트, 핫셋 선정, 단계적 워밍, 보호 장치를 묶어 배포 직후 성능 흔들림을 줄이는 실무 설계를 정리합니다.