시스템 설계 · 기초
읽기(Read) 작업이 많은 서비스에서 데이터베이스의 부하를 줄이기 위해 '읽기 전용 복제본(Read Replicas)'을 활용합니다. 이 방식의 목적과 장점은 무엇인가요?
힌트 · 읽기 전용 복제본은 주 데이터베이스의 읽기 부하를 분산하고, 주 데이터베이스는 쓰기 작업에 집중할 수 있게 하여 전체 시스템의 성능과 안정성을 향상시킵니다.
읽기 확장성부하 분산주 데이터베이스 격리지연 시간 감소데이터 일관성
모범답안
읽기 전용 복제본을 사용하는 주된 목적은 읽기 작업이 많은 서비스에서 데이터베이스의 읽기 부하를 분산시켜 성능을 향상시키는 것입니다.
장점은 다음과 같습니다. 첫째, 읽기 작업을 복제본 서버로 분산하여 주 데이터베이스 서버의 부담을 줄여 쓰기 성능을 유지할 수 있습니다. 둘째, 여러 개의 읽기 전용 복제본을 구성하여 읽기 확장성을 확보할 수 있습니다. 셋째, 주 데이터베이스에 장애가 발생하더라도 읽기 전용 복제본을 통해 서비스 지속성을 유지할 수 있습니다. 넷째, 지리적으로 분산된 복제본을 통해 사용자에게 더 가까운 데이터 접근을 제공하여 지연 시간을 줄일 수 있습니다. 다만, 데이터 일관성 유지를 위해 복제 지연을 고려해야 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 대용량 트래픽 설계 면접 질문
- 웹 서비스에서 'CDN(Content Delivery Network)'을 사용하면 대용량 트래픽 상황에서 어떤 이점을 얻을 수 있으며, 기본적인 동작 원리는 무엇인가요?
- 시스템 성능 향상 및 부하 감소를 위해 '캐싱(Caching)' 기법을 활용합니다. 캐싱의 기본 원리와 어떤 종류의 데이터를 캐싱할 수 있는지 설명해주세요.
- 데이터베이스의 데이터가 너무 많아질 때 발생하는 성능 문제를 해결하기 위한 방법 중 하나인 '샤딩(Sharding)' 또는 '파티셔닝(Partitioning)'의 개념을 설명해주세요.
- 여러 대의 서버로 트래픽을 분산하는 로드 밸런서의 주요 역할과 일반적인 로드 밸런싱 알고리즘 몇 가지를 설명하고, 각 알고리즘이 어떤 상황에 적합한지 비교 설명해 주세요.
- 대용량 트래픽 환경에서 데이터베이스의 읽기 성능을 향상시키기 위한 Read Replica(읽기 전용 복제본)의 동작 원리와 주요 고려사항에 대해 설명해 주세요.
- 웹 서비스에서 캐싱(Caching)을 적용할 때 고려할 수 있는 대표적인 캐싱 전략(예: Cache-aside, Write-through, Write-back)들을 설명하고, 각 전략이 어떤 상황에 적합한지 비교해 주세요.