[ 목차 ]
1. 분산 데이터베이스란?
2. 분산 데이터베이스의 투명성
3. 분산 데이터베이스 적용방법
4. 분산 데이터베이스의 장점
5. 분산 데이터베이스의 단점
6. 데이터베이스 분산구성의 가치
7. 분산 데이터베이스의 적용 기법
8. 분산 데이터베이스의 효과적 적용
1. 분산 데이터베이스란?
1) 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/
성능 등을 극대화 시킨 데이터베이스
2) 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
3) 논리적으로 동일한 시스템에 속하지만 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임으로, 물리
적 Site 분산, 논리적으로 사용자 통합/공유
2. 분산 데이터베이스의 투명성
1) 분산 데이터베이스가 되기 위해서 6가지의 투명성을 만족해야 함
1] 분할 투명성(단편화) : 하나의 논리적 relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장
2] 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요, 위치정보가 시스템 카탈로그에 유지되어야 함
3] 지역사상 투명성 : 지역 DBMS와 물리적 DB사이의 Mapping 보장, 각 지역시스템 이름과 무관한 이름 사용 가능
4] 중복 투명성 : DB객체가 여러 사이트에 중복 되어 있는지 알 필요가 없는 성질
5] 장애 투명성 : 구성요소의 장애에 무관한 Transaction의 원자성 유지
6] 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, time stamp, 분산 2단계 locking을 이용 구현
2) 대량 데이터처리의 지역적 처리나 글로벌 처리 등에서 유용하게 활용
3. 분산 데이터베이스 적용방법
1) 업무의 흐름을 보고 업무구성에 따른 아키텍처 특징에 따라 데이터베이스를 구성하는 것
2) 단순히 분산 환경에서 데이터베이스를 구축하는 것이 목적이 아닌 업무의 특징에 따라 데이터베이스 분산구조를 선
택적으로 설계하는 능력
3) 업무 기능이 다양해지고 데이터 양이 증가하는 최근 데이터베이스 환경에서 적용하는 고급화된 기술로, 업무적인 특
징에 따라 분산데이터베이스를 활용하는 기술이 필요
4. 분산 데이터베이스의 장점
1) 지역 자치성, 점증적 시스템 용량 확장
2) 신뢰성과 가용성
3) 효용성과 융통성
4) 빠른 응답 속도와 통신비용 절감
5) 데이터의 가용성과 신뢰성 증가
6) 시스템 규모의 적절한 조절
7) 각 지역 사용자의 요구 수용 증대
5. 분산 데이터베이스의 단점
1) 소프트웨어 개발 비용
2) 오류의 잠재성 증대
3) 처리 비용의 증대
4) 설계, 관리의 복잡성과 비용
5) 불규칙한 응답 속도
6) 통제의 어려움
7) 데이터 무결성에 대한 위협
6. 데이터베이스 분산구성의 가치
1) 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공
2) 원거리 or 다른 서버에 접속해 처리하여 발생되는 네트워크 부하와 트랜잭션 집중에 따른 성능 저하를 분산된 데이터
베이스 환경을 구축하여 빠른 성능을 제공하는 것이 가능
7. 분산 데이터베이스의 적용 기법
1) 통합 데이터 모델링을 한 뒤 각 테이블별로 업무적인 특징에 따라 지역 또는 서버별로 테이블을 분산 or 복제 배치
2) 테이블 위치 분산
1] 테이블의 구조는 변하지 않으며 테이블이 다른 데이터베이스에 중복되어 생성되지 않음
2] 설계된 테이블의 위치를 각각 다르게 배치
3] 정보를 이용하는 형태가 위치별로 차이가 있을 경우 이용
4] 테이블의 위치를 파악할 수 있는 도식화된 위치별 데이터베이스 문서가 필요
3) 테이블 분할 분산
1] 각각의 테이블을 쪼개어 분산
2] 테이블의 로우 단위로 분리하는 수평분할과 칼럼 단위로 분리하는 수직분할로 구분
<수평분할>
1. 각 지사별로 사용하는 로우가 다를 때 이용하며 데이터 수정 시 자신의 데이터에 대해서만 수정
2. 지사별로 데이터베이스를 운영할 때도 수평 분할 사용
3. 데이터가 각 지사 별도로 존재하기 때문에 중복이 발생하지 않으며 데이터 무결성이 보장되나 타지사에 있는
데이터가 지사구분이 변경되면 변경된 지사로 데이터를 이송해야 함
<수직분할>
1. 수직분할의 경우 각 테이블에는 동일한 primary key 구조와 값을 가지고 있으며 데이터를 한 곳에 집합시켜 놓
아도 동일한 primary key는 하나로 표현 가능하므로 데이터 중복은 발생하지 않음
2. 수직분할은 전체 칼럼 데이터를 보기 위해 흩어진 테이블을 조인해야 하므로 통합처리 프로세스가 많은 경우
사용X
4) 테이블 복제 분산
1] 가장 많이 사용되며 성능이 저하되는 데이터베이스에서 가장 유용하게 적용 가능한 기술적 방법
2] 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형
3] 마스터 데이터베이스에서 테이블의 일부 내용만 위치시키는 부분복제와 내용을 모두 존재시키는 광역복제로 구분
<부분복제>
1. 통합된 테이블을 본사에 가지고 있으면서 각 지사에 해당되는 로우를 가지고 있는 형태
2. 지사에 존재하는 데이터는 반드시 본사에 존재, 즉 본사의 데이터는 지사 데이터의 합
3. 각 지사에서 데이터 처리가 용이하며 전체 데이터 통합처리도 본사 테이블을 이용므로 조인 발생 없이 빠른 작
업수행 가능
4. 수평분할과 마찬가지로 지사간 데이터 중복은 없으나 본사와 지사간 데이터 중복은 발생
5. 보통 지사에 데이터가 먼저 발생하고 본사는 지사의 데이터를 통합하여 발생
6. 다른 지역간 데이터 복제 시 많은 시간이 걸리고 데이터베이스와 서버에 부하가 발생하기 때문에 실시간보다
야간에 수행
7. 본사와 지사 모두 데이터를 수정하여 전송하면 데이터 정합성을 일치시키기 어렵기 때문에 지사에서 데이터
수정이 발생하여 본사로 복제
<광역복제>
1. 통합된 테이블을 본사에 가지고 있으면서 각 지사에도 본사와 동일한 테이터를 모두 가지고 있는 형태
2. 모두 동일한 정보를 갖기에 본사나 지사나 데이터 처리에 특별한 제약을 받지 않음
3. 본사에서 데이터가 입력, 수정, 삭제되어 지사에서 이용(부분복제와 반대)]
4. 데이터 복제에 많은 시간이 걸리고 데이터베이스와 서버에 부하가 발생해 배치에 의해 복제가 되도록 함
5) 테이블 요약 분산
1) 지역 간 또는 서버 간 데이터가 비슷하지만 서로 다른 유형으로 존재하는 겨우
2) 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는
분석요약과 분산되어 있는 다른 내용의 데이터를 이용하여 산출하는 방식의 통합요약으로 구분
<분석요약>
1. 각 지사별로 존재하는 요약정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법
2. 테이블에 있는 모든 칼럼과 로우가 지사에도 동일하게 존재
3. 각 지사는 동일한 내용에 대해 지사별로 요약되어 있는 정보를 가지고 있고 본사에는 각 지사의 요약정보를 통
합하여 재산출해 전체에 대한 요약정보를 가지고 있는 것으로 표현
4. 통합 통계데이터에 대한 정보제공에 용이한 방법
5. 모든 지사 데이터를 이용하여 처리하면 성능이 지연되고 각 지사 서버에 부하를 주기 때문에 업무 발생 가능
6. 일반 업무가 종료되는 야간에 수행하여 생성
<통합요약>
1. 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 방법
2. 모든 칼럼과 로우가 지사에도 동일하게 존재하지만 각 지사에는 타지사와 다른 요약정보를 지니고 본사에는
각 지사의 요약정보를 통합하여 전체에 대한 요약정보를 지님
3. 분석요약과 비슷하나 단지 지사에서 산출한 요약정보를 한군데 취합하여 보여주는 형태로, 각 지사별로 데이
터를 비교하기 위해 이용되는 것
4. 통합 통계데이터에 대한 정보제공에 용이한 방법
5. 본사에 통합 요약된 테이블을 생성하고 데이터는 일반 업무가 종료된 야간에 수행하여 생성
8. 분산 데이터베이스의 효과적 적용
1) 성능이 중요한 사이트
2) 공통코드, 기준정보, 마스터 데이터 드에 대해 분산환경을 구성
3) 실시간 동기화가 요구되지 않는 경우
4) 특정 서버에 부하가 집중될 때
5) 백업 사이트를 구성할 때
'자격증 > SQLD' 카테고리의 다른 글
SQLD 2과목 1-2장. DDL (0) | 2020.03.09 |
---|---|
SQLD 2과목 1-1장. 관계형 데이터베이스 (0) | 2020.02.28 |
SQLD 1과목 2-5장. 데이터베이스 구조와 성능 (0) | 2020.02.28 |
SQLD 1과목 2-4장. 대량 데이터에 따른 성능 (0) | 2020.02.28 |
SQLD 1과목 2-3장. 반정규화와 성능 (0) | 2020.02.28 |