Skip to content

분산데이터베이스

분산 데이터베이스는 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스이다. 논리적으로는 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산하여 저장되어있는 데이터들의 모임을 지칭한다.

투명성

분산 데이터베이스의 투명성(Transparency)은 해당 데이터베이스를 사용하는 사용자가 데이터베이스 시스템이 분산되어있는 것을 인식하지 못하고 자신만의 데이터베이스 시스템을 사용하는 것으로 인식하도록 만드는 것이다. 네트워크로 치면 다중 서버환경을 떠올리면 된다.

분산 데이터베이스의 투명성은 여러가지 의미를 지닐 수 있다. 외울 필요는 없고, 분산 데이터베이스의 투명성이 어떤 측면에서, 어떻게 지켜져야하는지에 대한 대략적인 그림을 그릴 수 있으면 충분하다.

  1. 분할 투명성(단편화)
    하나의 논리적 Relation(테이블)이 여러 단편으로 분할되어 각 단편의 사본이 여러 Site에 저장된다. 하지만 사용하는 한 곳에 위치하는 것으로 인식해야한다.

  2. 위치 투명성
    사용하려는 데이터의 저장 장소를 명시할 필요가 없다. 위치정보가 System Catalog에 유지되기 때문에, 유저는 DB의 위치를 몰라도 요청을 보낼 수 있다.
    또한, 지역 DBMS(서브로 사용되는 DB)와 물리적 DB 사이의 Mapping을 보장한다.

  3. 장애 투명성
    구성요소(DBMS, Computer)의 장애에 무관한 Transaction의 원자성을 유지한다. 분산 DB에서 에러가 나더라도 트랜잭션의 조건이 깨지지 말아야한다.

  4. 병행 투명성
    다수 Transaction이 동시에 수행 시 결과의 일관성을 유지해야 한다. Locking과 TimeStamp 방법을 주로 이용한다.

장단점

장점

분산데이터베이스는 시스템의 용량을 Scale Out으로 확장시킬 수 있도록 하고, 규모를 조절하기 쉽다. 더 많은 데이터를 저장하여 각 지역 사용자의 요구를 수용할 수 있다.

또한 다른 DB에서 장애가 발생했을때 다른 지역에 저장되어있는 정보로 복구할 수 있기 때문에 데이터를 보다 안전하게 지킬 수 있다.

단점

하지만 소프트웨어 개발 비용이 증가하고, 설계 및 관리가 어려우며 DB의 응답 속도가 불규칙적이어질 수 있다는 단점이 있다.

그리고 데이터베이스가 여러 곳에 있기 때문에 데이터 무결성이 깨질 위험도 더 크다. 이로 인해 시스템에 오류가 생길 수도 있다.

적용 기법

분산 데이터베이스의 적용 기법은 테이블 위치 분산, 테이블 분할 분산, 테이블 복제 분산, 테이블 요약 분산 4가지가 있다.

기법설명
테이블 위치 (Location) 분산설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
(ex. 유저는 본사 DB에, 상품은 지사 DB에 저장)
테이블 분할 (Fragmentation) 분산각각의 테이블을 쪼개어 분산하는 방법이다. 수평분할과 수직분할, 두가지의 방법을 사용할 수 있다.
테이블 복제 (Replication) 분산동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형이다.
- 부분복제: 통합된 테이블을 한 군데(본사)에 가지고 있으면서 각 지사별로는 지사에 해당하는(자주 사용되는) Row를 가지고 있는 형태이다.
- 광역복제: 통합된 테이블을 한 군데(본사)에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태이다.
테이블 요약 (Summarization) 분산지역 또는 서버간에 서로 다른 유형의 데이터를 적절한 형태로 요약하여 저장하는 경우이다.
- 분석요약: 각 지사별로 존재하는 요약정보를 본사에 통합하고, 전체를 모은 정보에 대한 요약을 산출하는 분산방법이다.
- 통합요약: 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해 요약정보를 산출하는 방법이다.