본문 바로가기

DAP/06.데이터베이스 설계와 이용

[데이터베이스 설계와 이용] 분산데이터 베이스 설계

Q1. 지역별로 데이터베이스를 구축하고자 한다. 각 지역에서 취급하는 상품은 중복되지 않고, 동일한 속성을 가질때, 다음 중 분산설계에 대한 설명으로 부적합한것은?

1. 상품 테이블의 모든 데이터를 대상으로 분할하여야 한다.
2. 분할된 상품은 전체 집합으로 재구성될 수 있어야 한다.
3. 수평 분할하여 분산된 테이블을 통합하여도 식별자가 중복되지 않아야 한다.
4. 수직 분할하여 위치 투명성을 제공하여야 한다.

해설)
- 상기 문제는 테이블 수평 분할을 의미한다. (상품은 중복되지 않고 동일한 속성을 가짐)
1. 수평 분할은 모든 데이터를 기준으로 분할해야함
2. 분할된 상품들은 각각 row를 합치면 하나의 통합된 집합이 됨
3. 수평 분할하는경우 식별자는 중복되지 않는다.
4. 수직 분할에 관한 내용이 아님.. 그러므로 정답은 4번


Q2. 지역적으로 분산된 업무와 논리적으로 분리가 필요한 업무에 대해서 데이터베이스 구성과 시스템 구성을 설계 중일 때, 다음 중 분산 설계 방식으로 부적합한 것은?


1. 테이블 위치 분산은 전역적으로 테이블이 유일하게 존재해야 한다.
2. 테이블 분할은 수직분할, 수평분할 방법이 있다.
3. 분산 설계는 복제에 의한 데이터 중복을 허용하지 않는다.
4. 데이터 분산은 기술적인 요소를 반영하여 설계되어야 한다.

해설)
상기 문제는 분산설계에 대한 기본적인 설명에 대한 내용이다.
1. 테이블 위치 분산은 전역적으로는 유일하게 존재하는 구조가 된다.
2. 테이블 분할 방식은 수직, 수평 분할이 있다.
3. 분산 설계는 복제에 대한 데이터 중복을 허용한다. (부분 복제, 광역복제가 있다.) 정답, 3
4. 데이터 분산의 경우 기술적인 요소가 반영 되어야 한다.


Q3. 다음중 아래의 상황을 고려한 분산 설계 방식의 설명으로 틀린 것은?
- 자신의 데이터를 지역적으로 제어하여 원격 데이터에 대한 의존도를 감소시키며, 단일 서버에서 불가능한 처리를 기존 시스템에서 서버를 추가하여 점진저긍로 증가시킬 수 있는 구조로 분산 데이터베이스 환경을 구축하고자 한다.


1. 수평분할과 수직분할은 각각 식별자와 데이터가 중복되지 않아야 한다.
2. 각 서버에서 필요한 데이터나 구조가 다를 경우에는 완전성, 재구성, 상호중첩내재 등의 분할 규칙을 적용하여 분할해야 한다.
3. 분할된 것은 관계 연산자를 사용하여 원래의 전역 실체로 재구성이 가능해야 한다.
4. 테이블이 전역적으로 중복되지 않을 경우에는 테이블 구조의 변경 없이 서버별로 분산시킨다.

해설 )
1. 수평 분할에는 식별자가 중복되지 않지만, 수직 분할은 식별자가 중복된다.


# 배경 지식 #
- 분산설계 방식 -
가. 테이블 위치 분산 = 테이블 구조 변경 없이, 서버별 분산

나. 테이블 분할 분산
- 수평분할 : 컬럼의 값을 기준으로 row 분리, 값에 의해 서버간 데이터 상호 배타적 존재
- 수직분할 : 컬럼기준으로 분할, 각 서버에는 모든 row가 존재한다.

다. 테이블 복제 분산
- 부분복제 : 전역서버 테이블의 일부 데이터를 지역 서버에 복제한다.
- 전역복제 : 전역서버 테이블의 전체를 지역 서버에 복제한다.