분산 데이터베이스

단밤v 2020. 11. 6. 20:04
728x90
반응형

이번글에서는 분산 데이터베이스에 대해 알아보는 시간이 되겠습니다.

 

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

논리적으로 동일한 시스템에 속하나 물리적으로 분산되어 있고 가상시스템으로 네트워크상 하나의 데이터베이스처럼 구성합니다.

 

분산 데이터베이스의 투명성을 만족하기 위해서는 어떻게 해야할까요?

분산데이터베이스가 되기 위해서는 6가지 투명성을 만족해야 합니다.

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

2. 위치 투명성 : 사용하려는 데이터의 저장장소를 명시가 필요하지 않음. 위치정보는 System Caltalog에 유지어야 합니다.

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

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

5. 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 트랜잭션의 원자성유지합니다.

6. 병행 투명성 : 다수 트랜잭션 동시수행시 결과의 일관성 유지, TImm Stamp, 분산2단계 Locking을 이용하여 구현합니다.

 

분산 데이터베이스의 적용은 어떻게 할까요?

 

 

단순히 분산환경에서 데이터베이스를 구축하는 것을 넘어서 업무의 특징에 따라 데이터베이스 분산구조를 선택적으로 설계되어져야 합니다. 어떻게 보면 데이터베이스 구조설계처럼 하면 됩니다. 단지 위에서 말한 분산데이터베이스 투명성을 만족하도록 나중에 구성을 하면 되겠습니다.

 

분산 데이터베이스 장단점은 무엇일까요?

장점

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

2. 신뢰성과 가용성

3. 효용성과 융통성

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

5. 데이터의 가용성과 신뢰성 증가

6. 시스템 규모의 적절한 조절

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

단점

1. 소프트웨어 개발 비용

2. 오류의 잠재성 증대

3. 처리비용의 증대

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

5. 불규칙한 응답 소고

6. 통제의 어려움

7. 데이터 무결성에 대한 위협

 

분산 데이터베이스의 적용기법에 대해 소개해드리겠습니다.

 

1. 테이블 위치분산

테이블의 구조는 변하지 않으며, 다른 데이터베이스에 중복되어 생성되지 않습니다.

 

2. 테이블 분할(Fragmentation) 분산

단순히 테이블의 위치만 다르게 하는것이 아닌 각각의 테이블을 쪼개어 분산하는 방법입니다.

분할 방법은 두 가지가 있습니다.

- 수평분할(Horizontal Fragmentation)

테이블을 특정 컬럼의 값을 기준으로 분리하는데 컬럼은 분리되지 않으며, 데이터를 한군데 집합시켜 놓아도 PK에 의해 중복발생이 일어나지 않습니다.

각 지사별로 사용하는 ROW가 다를때 적용 가능합니다.

- 수직분할(Vertical Fragmentaion)

특정 컬럼값을 기준으로 컬럼을 분리합니다. 컬럼을 기준으로 분할하였으므로 각각의 테이블에는 동일한 PK구조와 값을 가지고 있어야해요. ^^

 

3. 테이블 복제(Replication) 분산

동일한 테이블을 다른 지역이나 서버에 동시에 생성하여 관리하는 유형입니다. 그냥 다섯군데에 똑같은 데이터,스키마가 존재한다고 보면 됩니다.

 

여기까지 분산 데이터베이스에 대한 설명을 마치겠습니다.

긴글 읽어주셔서 감사드립니다.

 

728x90
반응형