분산 데이터베이스 설계 / 데이터베이스 이중화 / 서버 클러스터링
2023. 2. 19. 21:17ㆍ정처기 필기/3과목 - 데이터베이스 구축
분산 데이터베이스 설계
1. 분산 데이터베이스 정의
- 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터베이스
2. 분산 데이터베이스의 구성 요소
구성 요소 | 설명 |
분산 처리기 | - 자체적으로 처리 능력을 가진다. - 지리적으로 분산되어 있는 컴퓨터 시스템 |
분산 데이터베이스 | - 지리적으로 분산되어 있는 데이터베이스 - 해당 지역의 특성에 맞게 구성된 데이터베이스 |
통신 네트워크 | 분산 처리기들을 통신망으로 연결해 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크 |
3. 분산 데이터베이스의 목표 (위치,중복,병행,분할,장애)
목표 | 설명 |
위치 투명성 (Location Transparency) |
실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 엑세스할 수 있다. |
중복 투명성 (Replication Transparency) |
동일 데이터가 여러 곳에 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행한다. |
병행 투명성 (Concurrency Transparency) |
여러 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않는다. |
분할 투명성 (Division Transparency) |
하나의 논리적 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 시스템에 저장되어 있음을 인식할 필요가 없다. |
장애 투명성 (Failure Transparency) |
트랜잭션, DBMS, 네트워크, 컴퓨터 등에서 장애가 발생해도 트랜잭션을 정확하게 처리하고 데이터 무결성을 보장한다. |
4. 분산 데이터베이스의 장, 단점
* 장점
- 지역 자치성이 높다
- 자료의 공유성 향상
- 분산 제어 가능
- 시스템 성능 향상
- 중앙 컴퓨터의 장애가 전체 시스템에 영향을 끼치지 않는다.
- 효용성과 융통성이 높다
- 신뢰성과 가용성이 높다
- 점진적 시스템 용량 확장이 용이하다.
* 단점
- DBMS가 수행할 기능이 복잡
- 데이터베이스 설계가 어렵다
- 소프트웨어 개발 비용 증가
- 처리 비용 증가
- 잠재적 오류 증가
- 보안의 어려움
5. 분산 데이터베이스 설계
* 애플리케이션이나 사용자가 분산되어 저장된 데이터에 접근하게 하는 것을 목적
* 분산 설계 방법
- 테이블 위치 분산 : 테이블을 각기 다른 서버에 분산시켜 배치하는 방법
- 분할 : 테이블의 데이터를 분할하여 분산시키는 것
- 할당 : 동일한 분할을 여러 개의 서버에 생성하는 방법
데이터베이스 이중화
1. 데이터베이스 이중화
* 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제해 관리하는 것
2. 데이터베이스 이중화의 분류
기법 | 설명 |
Eager 기법 | 트랜잭션 수행 중 데이터 변경이 발생하면 이중화 된 모든 데이터베이스에 전달해 변경 내용이 즉시 적용되도록 하는 기법 |
Lazy 기법 | 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성해 각 데이터베이스에 전달되는 기법 --> 데이터베이스마다 새로운 트랜잭션이 수행되는 것으로 간주됨 |
3. 데이터베이스 이중화 구성 방법
방법 | 설명 |
활동-대기 (Active-Standby) |
한 DB가 활동 상태로 서비스하고 있으면 다른 DB는 대기하고 있다가 활동 DB에 장애가 발생하면 대기 상태에 있던 DB가 자동으로 모든 서비스를 대신 수행 --> 구성 방법 및 관리가 쉬워 많은 기업에서 이용한다. |
활동-활동 (Active-Active) |
두 개의 DB가 서로 다른 서비스를 제공하다가 둘 중 한쪽 DB에 문제가 발생하면 나머지 다른 DB가 서비스를 제공 --> 두 DB 모두 처리하기 때문에 처리율이 높지만 구성 방법 및 설정이 복잡하다. |
서버 클러스터링
* 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술
- 고가용성 클러스터링
: 하나의 서버에 장애 발생 --> 다른 서버가 대신 처리
- 병렬 처리 클러스터링
: 하나의 작업을 여러 개의 서버에 분산해 처리
'정처기 필기 > 3과목 - 데이터베이스 구축' 카테고리의 다른 글
SQL응용 (0) | 2023.02.21 |
---|---|
데이터베이스 보안 / 스토리지 / 논리 데이터 모델의 물리 데이터 모델 변환 및 품질 검토 (0) | 2023.02.19 |
트랜잭션 / 인덱스 / 뷰 / 클러스터 (0) | 2023.02.19 |
시스템 카탈로그 / 데이터베이스 저장 공간 설계 (0) | 2023.02.19 |
관계대수 및 관계해석 / 정규화 및 반정규화 (0) | 2023.02.19 |