시스템 설계 · 기초
분산 시스템에서 데이터 복제(Data Replication)가 필요한 주요 이유와 그 목적은 무엇인가요?
힌트 · 데이터의 가용성을 높이고, 장애 발생 시 데이터 손실을 방지하며, 읽기 성능을 향상시키기 위해 필요합니다.
가용성내결함성데이터 일관성성능재해 복구
모범답안
분산 시스템에서 데이터 복제가 필요한 주요 이유는 크게 세 가지입니다.
첫째, 가용성을 높이기 위해서입니다. 데이터를 여러 곳에 복제해두면, 일부 서버에 장애가 발생하더라도 다른 서버에서 데이터를 계속 제공할 수 있습니다.
둘째, 내결함성을 확보하기 위해서입니다. 데이터 손실을 방지하고 시스템이 예상치 못한 오류에도 안정적으로 작동하도록 돕습니다.
셋째, 성능 향상을 위해서입니다. 사용자와 가까운 곳에 데이터를 복제해두면 읽기 요청에 대한 응답 시간을 줄일 수 있습니다. 예를 들어, 전 세계 사용자를 대상으로 하는 서비스라면 각 지역에 데이터 복제본을 두어 사용자 경험을 개선할 수 있습니다.
물론 데이터 복제는 데이터 일관성 유지라는 과제를 동반하지만, 시스템의 안정성과 성능을 높이는 데 필수적인 기술입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 분산 시스템 면접 질문
- 분산 시스템이란 무엇이며, 단일 시스템과 비교했을 때 어떤 주요 장점을 가지는지 설명해 주세요.
- CAP 이론에 대해 설명하고, 각 요소(Consistency, Availability, Partition tolerance)가 무엇을 의미하는지 간략히 설명해 주세요.
- 로드 밸런싱(Load Balancing)이 분산 시스템에서 어떤 역할을 하며, 가장 기본적인 로드 밸런싱 알고리즘에는 어떤 것들이 있나요?
- 분산 시스템에서 서비스 디스커버리(Service Discovery)가 필요한 이유와 그 개념을 설명해 주세요.
- 분산 시스템의 확장성(Scalability)이란 무엇이며, 수평 확장(Horizontal Scaling)과 수직 확장(Vertical Scaling)의 차이를 설명해 주세요.