일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- I/O장치
- OS
- 멀티프로세서
- codility
- 병행성 관련 오류
- 그리디 알고리즘
- 동적계획법
- Direct12
- 그리디알고리즘
- 프로그래머스
- 운영체제
- directx
- DirectX 12
- DirectX12
- 알고리즘
- 파일시스템 구현
- 병행성
- 멀티쓰레드
- 타입 객체
- 컨디션 변수
- 쓰레드
- 자료구조
- 락
- 디자인패턴
- 스케줄링
- 렌더링 파이프라인
- 다이나믹프로그래밍
- 백준
- 영속성
- 다이나믹 프로그래밍
- Today
- Total
기록공간
3-2-9장. 분산 데이터베이스 설계 - A 본문
분산 데이터베이스 정의
분산 데이터베이스는 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트(Site)에 분산되어 있는 데이터베이스를 말한다.
-
분산 데이터베이스는 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록 한다.
분산 데이터베이스의 구성 요소
-
분산 처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템을 말함
-
분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성됨
-
통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크를 말함
분산 데이터베이스 설계 시 고려 사항
-
작업부하(Work Load)의 노드별 분산 정책
-
지역의 자치성 보장 정책
-
데이터의 일관성 정책
-
사이트나 회선의 고장으로부터의 회복 기능
-
통신 네트워크를 통한 원격 접근 기능
분산 데이터베이스의 목표
-
위치 투명성(Location Transparency) : 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스할 수 있음
-
중복 투명성(Replication Transparency) : 동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행
-
병행 투명성(Concurrency Transparency) : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음
-
장애 투명성(Failure Transparency) : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리
분산 데이터베이스 장단점
-
장점
-
지역 자치성이 높음
-
자료의 공유성이 향상
-
분산 제어가 가능
-
시스템 성능이 향상
-
중앙 컴퓨터의 장애가 전체 시스템에 영향을 끼치지 않음
-
효용성과 융통성이 높음
-
신뢰성 및 가용성이 높음
-
점진적 시스템 용량 확장이 용이
-
-
단점
-
DBMS가 수행할 기능이 복잡
-
데이터베이스 설계가 어려움
-
소프트웨어 개발 비용이 증가
-
처리 비용이 증가
-
잠재적 오류가 증가
-
분산 데이터베이스 설계
분산 데이터베이스 설계는 애플리케이션이나 사용자가 분산되어 저장된 데이터에 접근하게 하는 것을 목적으로 한다.
-
잘못 설계된 분산 데이터베이스는 복잡성 증가, 응답 속도 저하, 비용 증가 등의 문제가 발생
-
분산 데이터베이스의 설계는 전역 관계망을 논리적 측면에서 소규모 단위로 분할한 후, 분할된 결과를 복수의 노드에 할당하는 과정으로 진행됨. 노드에 할당된 소규모 단위를 분할(Fragment)이라 부름
-
분산 설계 방법에는 테이블 위치 분산, 분할(Fragmentation), 할당(Allocation)이 있음
테이블 위치 분산
테이블 위치 분산은 데이터베이스의 테이블을 각기 다른 서버에 분산시켜 배치하는 방법을 의미한다.
-
테이블 위치를 분산할 떄는 테이블 구조를 변경하지 않으며, 다른 데이터베이스의 테이블과 중복되지 않게 배치
-
데이터베이스의 테이블을 각각 다른 위치에 배치하려면 해당 테이블들이 놓일 서버들을 미리 설정해야 함
분할(Fragment)
분할은 테이블의 데이터를 분할하여 분산시키는 것이다.
-
분할 규칙
-
완전성(Completeness) : 전체 데이터를 대상으로 분할해야 함
-
재구성(Reconstruction) : 분할된 데이터는 관계 연산을 활용하여 본래의 데이터로 재구성할 수 있어야 함
-
상호 중첩 배제(Dis-jointness) : 분할된 데이터는 서로 다른 분할의 항목에 속하지 않아야 함
-
-
주요 분할 방법
-
수평 분할 : 특정 속성의 값을 기준으로 행 단위로 분할해야 함
-
수직 분할 : 데이터 컬럼(속성) 단위로 분할
-
할당(Allocation)
할당은 동일한 분할을 여러 개의 서버에 생성하는 분산 방법으로, 중복이 없는 할당과 중복이 있는 할당으로 나뉜다.
-
비중복 할당 방식
-
최적의 노드를 선택해서 분산 데이터베이스의 단일 노드에서만 분할이 존재하도록 하는 방식
-
일반적으로 애플리케이션에는 릴레이션을 배타적 분할로 분리하기 힘든 요구가 포함되므로 분할된 테이블 간의 의존성을 무시되고 비용이 증가, 성능 저하 등의 문제가 발생할 수 있음
-
-
중복 할당 방식 : 동일한 테이블을 다른 서버에 복제하는 방식으로, 일부만 복제하는 부분 복제와 전체를 복제하는 완전 복제가 있음
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
3-2-11장. 데이터베이스 보안/암호화 - B (0) | 2020.09.13 |
---|---|
3-2-10. 데이터베이스 이중화/서버 클러스터링 - B (0) | 2020.09.12 |
3-2-8장. 데이터베이스 용량 설계 - C (0) | 2020.09.12 |
3-2-7장. 파티션 설계 - A (0) | 2020.09.12 |
3-2-6장. 클러스터 설계 - A (0) | 2020.09.11 |