🌿 중급 DB
읽기 전용 레플리카가 뭔가요?
쉽게 이해하기
도서관에 인기 책이 한 권만 있으면 대기 시간이 길어지잖아요. 그래서 같은 책을 여러 권 비치하면 더 많은 사람이 동시에 읽을 수 있어요. 읽기 전용 레플리카도 같은 데이터베이스를 여러 개 복사해서 조회 요청을 분산시키는 거예요.
핵심 정리
조회 전용으로 쓰는 데이터베이스 복사본이에요.
자세히 알아보기
읽기 전용 레플리카(Read Replica)는 원본 데이터베이스의 복사본인데, 데이터를 읽기만 할 수 있고 수정은 불가능해요. 원본 데이터베이스(Master)에서 변경된 내용이 자동으로 레플리카에 복사돼서, 항상 최신 상태를 유지해요.
사용자가 많은 서비스에서는 데이터를 조회하는 요청이 수정하는 요청보다 훨씬 많아요. 예를 들어 인스타그램에서는 게시글을 작성하는 것보다 피드를 보는 일이 훨씬 많죠. 이때 모든 조회 요청을 원본 데이터베이스로 보내면 부하가 집중되는데, 읽기 전용 레플리카를 여러 개 만들어서 조회 요청을 분산시키면 성능이 크게 개선돼요.
실무에서는 보통 글 쓰기/수정/삭제는 원본 데이터베이스로, 목록 조회나 검색은 레플리카로 보내는 식으로 구성해요. 레플리카는 필요한 만큼 여러 개 만들 수 있어서, 트래픽이 증가하면 레플리카를 추가해서 대응할 수 있어요.
다만 레플리카는 원본에서 데이터를 복사하는 데 약간의 시간이 걸려요(보통 몇 초 이내). 그래서 방금 작성한 게시글이 목록에 바로 안 보이는 경우가 있을 수 있어요. 이런 특성을 이해하고 사용하는 게 중요해요.