SQLD자격증독학

[SQLD자격증독학] 18. 분산 데이터베이스와 성능

i-moo 2017. 1. 21. 17:35
반응형

분산 데이터베이스의 정의

- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스

- 논리적으로 동일한 시스템에 속하지만 , 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합.공유


> 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스


분산 데이터베이스의 6가지 투명성 (Transparency)

1. 분할 투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장

2. 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함

3. 지역사상 투명성 : 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용가능

4. 중복 투명성 : DB 객체가 여러 site에 중복되어 있는지 알 필요가 없는 성질

5. 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 Transaction의 원자성 유지

6. 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현


분산 데이터베이스 장단점

- 장점

> 지역 자치성, 점증적 시스템 용량 확장

> 신뢰성과 가용성

> 효용성과 융통성

> 빠른 응답 속도와 통신비용 절감

> 데이터의 가용성과 신뢰성 증가

> 시스템 규모의 적절한 조절

> 각 지역 사용자의 요구 수용 증대

- 단점

> 소프트웨어 개발 비용

> 오류의 잠재성 증대

> 처리 비용의 증대

> 설계, 관리의 복잡성과 비용

> 불규칙한 응답 속도

> 통제의 어려움

> 데이터 무결성에 대한 위협


데이터베이스 분산 구성의 가치

- 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다는 점


분산 데이터베이스의 적용 기법

- 테이블 위치 분산

> 테이블 구조는 변하지 X

> 테이블이 다른 데이터베이스에 중복되어 생성되지도 X

> 설계된 테이블의 위치를 각각 다르게 위치시키는 것

> 테이블의 위치를 파악할 수 있는 도식화된 위치별 데이터베이스 문서가 필요

- 테이블 분할 (Fragmentation) 분산

> 각각의 테이블을 쪼개어 분산하는 방법

> 수평분할 (Horizontal Fragmentation) : 로우(Row)단위로 분리

-> 데이터를 한군데 집합시켜 놓아도 Primary Key에 의해 중복이 발생 X

> 수직분할 (Vertical Fragmentation) : 칼럼(Column)단위로 분할

-> 각각의 테이블에는 동일한 Primary Key구조와 값을 가지고 있어야 한다

-> 데이터를 한군데 집합시켜 놓아도 데이터 중복은 발생 X

- 테이블 복제 (Replication) 분산

> 동일한 테이블을 다른 지역이나 서버에 동시에 생성하여 관리하는 유형 > 가장 많이 사용하는 방식

> 부분복제 (Segment Replication) : 마스터 데이터베이스에서 테이블의 일부의 내용만 다른 지역이나 서버에 위치시키는 방식

-> 본사의 데이터는 지사데이터의 합이 되는 것

-> 지사간에는 데이터의 중복 발생 X, 본사와 지사간에는 데이터 중복이 항상 발생하게 되는 경우

-> 야간에 배치 작업에 의해 수행되는 경우가 많음

> 광역복제 (Broadcast Replication) : 마스터 데이터베이스의 테이블의 내용을 각 지역이나 서버에 존재시키는 방식

-> 모든 지사에 있는 데이터량과 본사에 있는 데이터량이 다 동일

-> 본사나 지사나 데이터 처리에 특별한 제약을 받지 않는다


> 부분복제는 지사에서 데이터에 대한 입력, 수정, 삭제가 발생하여 본사에서 이용하는 방식

> 광역복제는 본사에서 데이터가 입력, 수정, 삭제가 되어 지사에서 이용하는 방식

- 테이블 요약(Summarization) 분산

> 지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우

> 분석요약 (Rollup Summarization) : 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

-> 지사별로 존재하는 요약정보를 본사에서 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법

-> 지사간의 요약 내용 동일

> 통합요약 (Consolidation Summmarization) : 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

-> 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법

-> 지사간의 요약 내용 동일


데이터베이스 분산 설계를 적용하면 효과적인 경우

- 성능이 중요한 사이트에 적용해야 한다

- 공통코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성하면 성능이 좋아진다

- 실시간 동기화가 요구되지 않을 때 좋다

- 특정 서버에 부하가 집중이 될 때 부하를 분산할 때도 좋다

- 백업 사이트 (Disaster Recovery Site)를 구성할 때 간단하게 분산 기능을 적용하여 구성할 수 있다

반응형