데이터베이스 레플리케이션

장현욱(Artlogy)·2022년 11월 24일
0
post-thumbnail

개요


데이터베이스 리플리케이션(Replication)은 실시간 복제본 데이터베이스 서버를 운용하는 것을 의미한다. 기준이 되는 서버를 마스터 서버 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 레플리카(Replica) 또는 슬레이브(Slave)서버라고 한다.

애플리케이션이 DB요소가 변하는 SQL명령(삽입/변경/삭제)를 수신하면 마스터서버는 레플리카서버에도 똑같은 명령어를 실시간으로 보내 마스터와 레플리카서버를 동일한 상태로 유지한다.

목적


레플리케이션을 사용하는 이유는 데이터의 안정성을 위함이다.

어떠한 원인으로 인해 데이터가 손상되었을 때, 가장 기초적인 대처방법은 백업본을 사용하여 복구하는 것이다. 하지만 백업본을 이용한 방법은 데이터 백업을 주기적으로 하고 대처 하였다고 하여도 백업된 시간과 장애가 발생한 시간 사이의 변경사항은 모두 소실되는 점이다. 레플리카 서버를 이용하면 실시간으로 마스터서버와 레플리카서버가 동일한 데이터를 가지게 됨으로 데이터 소실이 최소화 된다. 마스터서버에 문제가 생기더라도 레플리카서버를 마스터로 승격하여 새로운 마스터 서버에 대한 레플리카 서버를 만들면 복구 또한 간단하게 처리 할 수 있다.

응용


레플리카 서버는 기본적으로 읽기전용으로 운용된다. 때문에 마스터서버에서는 엑세스 시간이 중요한 읽기/쓰기 작업은 DB에서 작업하고, 읽기전용 작업은 레플리카 작업에서 한다.
예를 들어 서비스(배포) 어플리케이션은 마스터에서 작업하고, 대체적으로 많은 리스트를 불러오는 관리자 사이트(CMD) 기능은 레플리카서버로 가져오는 등으로 분산하여 처리하는 것이다.

0개의 댓글