물리데이터베이스
데이터베이스 이중화 Database Replication 정의
- 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리
- 하나 이상의 데이터베이스가 항상 같은 상태를 유지하므로 데이터베이스에 문제가 발생하면 복제된 데이터베이스를 이용하여 즉시 문제 해결 가능
- 여러 개의 데이터베이스를 동시에 관리하므로 사용자가 수행하는 작업이 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용됨
- 애플리케이션을 여러 개의 데이터베이스로 분산시켜 처리하므로 데이터베이스 부하를 줄일 수 있음
- 데이터베이스 이중화를 이용하면 손쉽게 백업 서버 운영 가능
데이터 이중화의 분류
- 변경 내용의 전달 방식에 따라 Eager 기법과 Lazy 기법으로 나뉨
- Eager 기법
- 트랜잭션 수행 중 데이터 변경이 발생하면 이중화 된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록 하는 기법
- Lazy 기법
- 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법으로, 데이터베이스마다 새로운 트랜잭션이 수행되는 것으로 간주됨
- Eager 기법
데이터 이중화의 구성 방법
- 활동-대기(Active-Standby) 방법과 활동-활동(Active-Active) 방법이 있음
- Active-Active
- 두 개의 DB가 서로 다른 서비스를 제공하다가 둘 중 한쪽 DB에 문제가 발생하면 나머지 다른 DB가 서비스를 제공
- 두 개의 DB가 모두 처리하기 때문에 처리율이 높지만 구성 방법 및 설정이 복잡함
- Active-Standby
- 한 DB가 활성 상태로 서비스하고 있으면 다른 DB는 대기하고 있다가 활성 DB에 장애 발생 시 대기 상태의 DB가 자동으로 모든 서비스를 대신 수행
- 구성 방법과 관리가 쉬워 많은 기업에서 이용
- Active-Active