🌿 중급 DB
데이터베이스 레플리케이션이란?
쉽게 이해하기
중요한 문서를 여러 곳에 백업해두는 것과 같아요. 원본이 손상되어도 복사본이 있으니 안전하고, 여러 사람이 동시에 볼 때도 각자 가까운 복사본을 보면 되니까 빠르죠. 데이터베이스도 마찬가지로 데이터를 여러 서버에 복사해두면 안전하고 빠르게 서비스할 수 있어요.
핵심 정리
데이터를 여러 서버에 복제해서 안정성과 속도를 높이는 기술이에요.
자세히 알아보기
데이터베이스 레플리케이션은 하나의 데이터베이스 내용을 여러 서버에 자동으로 복사하는 기술이에요. 보통 원본 데이터베이스를 Master(또는 Primary)라고 부르고, 복사본을 Slave(또는 Replica)라고 불러요.
실무에서는 주로 두 가지 목적으로 레플리케이션을 사용해요. 첫 번째는 장애 대비예요. Master 서버가 고장 나더라도 Replica 서버가 즉시 역할을 대신할 수 있어서 서비스가 중단되지 않아요. 두 번째는 성능 향상이에요. 사용자가 데이터를 읽을 때는 여러 Replica 서버에 분산시켜서 처리 속도를 높일 수 있죠.
예를 들어 쇼핑몰 서비스를 운영한다면, 상품 정보를 조회하는 요청은 Replica 서버들이 나눠서 처리하고, 주문이나 재고 변경 같은 중요한 작업은 Master 서버에서만 처리해요. 이렇게 하면 많은 사용자가 동시에 접속해도 빠르게 응답할 수 있어요.
레플리케이션 방식에도 여러 종류가 있어요. 동기식(Synchronous)은 Master에 데이터가 쓰이는 즉시 모든 Replica에도 똑같이 복사되는 방식이고, 비동기식(Asynchronous)은 약간의 시간차를 두고 복사하는 방식이에요. 동기식이 더 정확하지만 느리고, 비동기식은 빠르지만 잠깐 동안 데이터가 다를 수 있어요. 서비스 특성에 맞게 선택하면 돼요.