기술 블로그
C레벨 - 고난도
LinkedIn 프로필 데이터스토어 스케일링: Couchbase 캐시 계층 도입
백엔드
스케일링
데이터베이스
CouchbaseEspressoSamzaBrooklinAvro
배경
LinkedIn의 프로필 인프라가 확장성 제약에 직면. Espresso(분산 문서 저장소)가 140만 QPS를 처리했으나 공유 컴포넌트 상한에 도달.
도전 과제
읽기 중심 워크로드(99%+ 읽기)에서 로컬 온힙 캐시(OHC)의 낮은 히트율. 프로젝션 기반 쿼리의 비효율. 스토리지 노드에서 스키마 업컨버전과 전체 문서 처리로 리소스 소비.
해결 방안
Couchbase를 분산 캐시 계층으로 도입. 3가지 설계 원칙: 장애 복원력, 데이터센터 간 캐시 가용성, 데이터 발산 SLO 제어. System Change Numbers(SCN)으로 업데이트 순서 보장. Last-Writer-Win 정합성.
결과
99% 캐시 히트율 달성. P99 멀티겟 레이턴시 60.73% 감소. 필요 Espresso 스토리지 노드 90% 감소. 연간 10% 비용 절감.
핵심 인사이트
- 1.캐시 계층과 기본 스토리지 분리에는 정교한 조정 메커니즘 필요
- 2.전체 문서 캐싱이 소형 페이로드에서 프로젝션 기반보다 우수
- 3.논리적 타임스탬프가 분산 컴포넌트 간 일관성 유지에 필수