본문 바로가기
정보처리기사

정보처리기사 : 분산 데이터베이스 / 이중화 / 서버 클러스터링

by 스노위13 2023. 4. 8.

1. 분산 데이터베이스
- 논리적으로는 하나의 시스템이지만 물리적으로는 여러 대의 컴퓨터에 데이터를 분산시켜 저장하고, 데이터에 대한 처리를 분산시켜 수행하는 데이터베이스 시스템

2. 분산 데이터베이스의 목표
- 위치투명성 :  분산 데이터베이스에서 데이터가 어디에 저장되어 있는지를 사용자가 명시적으로 알 필요 없이, 논리적인 명칭만으로 데이터에 접근하도록 시스템이 알아서 처리해주는 것
- 중복투명성 : 데이터의 복제본이 여러 개 존재할 때, 사용자가 복제본 중 어떤 것을 사용하더라도 동일한 결과를 얻을 수 있도록 보장
- 병행투명성 :  분산 데이터베이스에서 여러 사용자가 동시에 데이터를 접근하더라도, 각 사용자가 독립적으로 작업을 수행하고, 각 작업이 올바르게 실행되는 것, 동시성 제어 프로토콜 필요
- 장애투명성 : 일부 서버에 장애가 발생하더라도, 사용자에게 서비스를 계속 제공할 수 있도록 하는 것, 장애 복구 프로토콜이 필요

3. 데이터베이스 이중화
-여러 대의 서버에 데이터를 복제하여 저장함으로써 데이터의 안정성을 보장하는 방법
- 데이터의 안정성과 가용성 향상
- 데이터 일관성을 위해 복제 관리 프로토콜을 사용 필요

4. 데이터베이스 이중화의 분류
- Eager 기법 : 새로운 데이터가 삽입되거나 기존 데이터가 업데이트될 때, 모든 복제 서버에 즉시 동기화되는 방법
- Lazy 기법 : 새로운 데이터가 삽입되거나 기존 데이터가 업데이트될 때, 복제 서버가 해당 데이터의 변경사항을 기록하고 이후, 변경사항을 수집하여 주기적으로 복제 서버에 적용

5. 데이터베이스 이중화 구성 방법
- 활동-대기 방법 : 하나의 서버가 활성 서버(Active Server) 역할을 수행하고, 다른 하나의 서버는 백업 서버(Passive Server) 역할을 수행, 활성 서버에 장애가 발생하면, 백업 서버가 활성 서버로 대체되어 서비스가 계속
- 활동-활동 방법 : 두 개 이상의 서버가 모두 활성 상태로 데이터를 처리하는 방법, 활성 서버 간의 부하 분산을 허용, 서비스 가용성 향상, 데이터 복제와 동기화에 관한 복잡성이 높아 구현이 어려움

6. 클러스터링

- 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술
- 고가용성 클러스터링 : 하나의 서버에 장애가 발생하면 다른 노드가 받아 처리하여 서비스 중단을 방지
- 병렬처리 클러스터링 : 전체 처리율을 높이기 위해 하나의 작업을 여러 개의 서버에서 분산하여 처리

7. RTO / RPO
- RTO : 목표 복구 시간
- RPO : 데이터 복구 기준점

댓글