DRP(Disaster Recovery Plan)란?
재해 복구 계획(Disaster Recovery Plan)은 팀이 예상치 못한 에러나 공격을 받았을 때, 효과적으로 대응하는 방법론을 말합니다.
이를 통해 비지니스 연속성을 지키고, 서비스 사용자는 사용자 경험이 떨어지지 않도록 유지할 수 있게 됩니다.
재해 복구 계획은 소프트웨어에서 미러 사이트, 핫 사이트, 웜 사이트, 콜드 사이트로 크게 4가지로 분류됩니다.
- 미러 사이트(Mirror Site) : 주 시스템 서버 센터 동일한 수준의 데이터와 시스템을 원격지에 구축, 주 시스템 서버 센터도 실행 중 & 원격 센터도 실행 중인 상태를 의미한다.
- 핫 사이트(Hot Site) : 주 시스템 서버 센터 동일한 수준의 데이터와 시스템을 원격지에 구축, 주 시스템 서버 센터는 실행 중 & 원격 센터는 대기 중인 상태를 의미한다.
- 웜 사이트(Warm Site) : 주 시스템 서버 센터 동일한 수준의 데이터만 원격지에 구축, 주 시스템 서버 센터는 실행 중인 상태를 의미한다.
- 콜드 사이트(Cold Site) : 최소한의 준비만 (데이터도 큰 정보만 백업해놓고 나머진 백업 안해놓음) 해놓은 상태를 의미한다.
리플리케이션(Replication)
리플리케이션(Replication)은 가장 위에 Master가 존재하고, 그 밑에 Slave가 존재하는 구조이다.
이때, Master에는 추가, 조회, 수정, 삭제 모든 권한이 존재하고, Slave에는 조회 권한만 존재한다.
하지만 실무에서는 Master는 쓰기권한만(추가, 수정, 삭제 권한), Slave에는 조회 권한만 존재하도록 시스템을 구축해놓는다.
하지만 이렇게 되는 경우, Master 컴퓨터가 공격당하거나, 예상치 못한 오류로 전원이 꺼진다면 쓰기 권한을 가진 컴퓨터가 사라져서 제대로 된 서비스를 제공할 수 없다.
따라서 Master이자 Slave인 컴퓨터를 여러대 놓아서 운영하기도 한다.
리플리케이션의 장점
- 대부분의 데이터는 조회가 60 ~ 80%를 차지하고 있어 성능이 크게 향상된다.
- 비동기 방식으로 운영되어 지연시간이 크게 저하되지는 않는다.
리플리케이션 단점
- 마스터 컴퓨터가 다운되면 전체적인 서비스 복구가 어렵다.
- 데이터 불일치가 일어날 수 있다.(비동기 방식이기 때문에)
리플리케이션 동작 방식 (With MariaDB)
- Master DB에서 새로운 데이터가 저장된다.
- 이때, Master DB에 존재하는 Log에 위 동작이 기록된다.
- 동기화 시간마다 Slave DB는 Master DB에 들어가서 Log파일을 읽는다.
- 이때, 새로운 데이터가 존재하면 Log에 적힌대로 복사해서 Slave DB에 저장한다.
클러스터링(Clustering)
클러스터링(Clustering)은 각 노드가 평등하게 존재하는 구조를 의미한다.
그렇기에 각 노드의 컴퓨터들은 동기 방식으로 데이터를 처리한다.
클러스터링의 장점
- 데이터의 불일치가 일어나지 않는다.
- 시스템에서 장애없이 꾸준히 이용할 수 있다.
클러스터링의 단점
- 리플리케이션에 비해서 성능이 떨어진다.
클러스터링 동작 방식
- 한 DB에 데이터가 저장되는 동작이 실행된다.
- 실제 DB에 저장하기 전에 클러스터링 되어있는 다른 DB에게 데이터 복제를 요청한다.
- 모든 DB가 응답하면 실제로 데이터가 작성된다.
- 만약 모든 DB가 응답하지 않으면 잠시 정지한다. (응답이 올 때까지)
참고 자료
https://www.ibm.com/kr-ko/topics/disaster-recovery-plan
재해 복구 계획이란 무엇인가요? | IBM
재해 복구 계획은 조직이 예기치 않은 사고에 효과적으로 대응하고 비즈니스 운영을 재개하는 방법을 설명하는 상세한 문서입니다.
www.ibm.com
https://mangkyu.tistory.com/97
[Database] 리플리케이션(Replication) vs 클러스터링(Clustering)
1. 리플리케이션(Replication)이란? [ 리플리케이션(Replication)이란? ] 리플리케이션이란 여러 개의 DB를 권한에 따라 수직적인 구조(Master-Slave)로 구축하는 방식이다. 리플리케이션에서 Master Node는 쓰
mangkyu.tistory.com
혹시라도 틀린 내용이 있다면 댓글로 알려주시면 감사하겠습니다!!
'CS(Computer Science) > Database' 카테고리의 다른 글
[Database] 리플리케이션(Replication)에서 핫 사이트(Hot Site) 구현(KeepAlived + MariaDB) (0) | 2025.06.12 |
---|---|
[Database] 리플리케이션(Replication)에서 미러 사이트(Mirror Site) 구현(Haproxy + MariaDB) (1) | 2025.06.12 |
[Database] DBMS 성능 테스트(JMeter + Prometheus + Grafana) (2) | 2025.06.11 |
[Database] Transaction이란? (1) | 2025.06.10 |
[Database] SQL 문법 총 정리 (3) | 2025.06.10 |