Skip to content

Latest commit

 

History

History
31 lines (17 loc) · 2.26 KB

File metadata and controls

31 lines (17 loc) · 2.26 KB

Replication이 먼가여?

대규모 서비스 개발 시 큰 트레픽을 감당할 수 있게 인프라 구조를 개선합니다. 인프라 구조를 개선하는 방법에는 매우 다양한 방법이 존재하며, 그 중 하나가 레플리케이션(Replication)입니다.

replication의 사전적 정의: 사본, 모사

레플리케이션은 원본 데이터베이스인 소스 서버를 레플리케이션 서버로 복제하고 쓰기 작업은 소스 서버로 읽기 작업은 레플리케이션 서버로 보내 부하를 분산 시키는 것을 의미합니다. 특히 대부분의 서비스는 읽기가 많은 부분을 차지하기 때문에 레플리케이션 서버를 여러 대 두어 읽기에 대한 부하를 분산 시킬 수 있습니다.

레플리케이션의 단점은?

같은 데이터를 소스 서버와 레플리카 서버에 중복되게 저장하고 있기 때문에 데이터 정합성 문제가 발생할 수 있음을 인지해야합니다. 소스 서버의 변경 사항을 레플리카 서버로 동기화하기 전이나 동기화하는 중에는 두 서버의 데이터가 다를 수 있습니다. 따라서 정합성이 굉장히 중요한 데이터는 읽기 작업 시에도 소스 서버를 이용해야하는 경우가 생기기도 합니다.

또한 레플리케이션을 사용하면 애플리케이션 레벨에서 쿼리의 종류에 따라 소스 서버와 레플리카 서버로 분기처리하는 작업이 필요합니다.

데이터 정합성을 지키려면?

소스 서버와 레플리카 서버로 분기처리하는 방법

데이터베이스 클러스터

이에 대해서는 아직 개념만 이해한 상태이기 때문에 간단히만 정리한다.

데이터를 저장하는 하나의 디스크를 관리하는 서버를 여러대로 분리하는 것을 데이터베이스 클러스터라고 합니다. 특정 서버에 장애가 발생해도 다른 서버를 이용하기 때문에 고가용성을 보장합니다.

참고 자료