본문 바로가기

DB

[DB] 분산 데이터베이스 개념, 투명성, 장단점, 분류

0. 분산 데이터베이스 개념

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

 

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

  • 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 각 단편의 사본이 여러 Site에 저장된다.
  • 위치 투명성 : 사용하는 데이터의 저장 장소 명시할 필요 없다. 위치정보는 System Catalog에 유지된다.
  • 지역사상 투명성 : 지역DBMS와 물리적 DB 사이에 Mapping을 보장한다. 
  • 중복 투명성 : DB 객체가 여러 site에 중복되어 있는지 알 필요가 없다.
  • 장애 투명성 : 구성요소의 장애에 무관한 Transaction의 원자성 유지
  • 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking 구현

 

2. 분산 데이터베이스 장점

  • 효율성과 융통성
  • 빠른 응답 속도와 통신비용 절감
  • 데이터의 가용성과 신뢰성 증가
  • 시스템 규모의 적절한 조절
  • 각 지역 사용자의 요구 수용 증대
  • 지역 자치성, 점증적 시스템 용량 확장
  • 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다.
  • 네트워크 부하 및 트래잭션 집중에 따른 성능 저하를 분산 데이터베이스 환경 구축으로 방지할 수 있다.

 

3. 분산 데이터베이스 단점

  • 소프트웨어 개발 비용 증가
  • 오류의 잠재성 증대
  • 처리 비용의 증대
  • 설계, 관리의 복잡성과 비용
  • 불규칙한 응답 속도
  • 통제의 어려움
  • 데이터 무결성에 대한 위협

 

4. 분산 데이터베이스 적용 기법들

 

 4-1 테이블 위치 분산

 

  • 테이블의 구조는 변하지 않고, 다른 데이터베이스에 중복되어 생성되지 않는다.
  • 그저 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
  • 각 위치별로 필요로 하는 정보가 서로 다를 때 사용한다.
  • 테이블의 위치가 다르므로, 테이블의 위치를 파악할 수 있는 도식화된 데이터베이스 문서가 필요하다.
  •  ex) 1~6에의 자료를 본사에서는 1~3을 지사에서는 4~6을 관리한다.

 

4-2 테이블 분할 분산

 

  • 수평분할 : 각 지사별로 사용하는 Row가 다를 때 이용한다. 
  • 각 지사의 테이블에서 통합처리를 해야 하는 경우 조인이 발생하여 성능 저하가 발생할 수 있다.
  • 한 지사에서 하나의 데이터만 존재하므로 데이터의 무결성은 보장된다.
  • ex) 지사1은 고객 100명 데이터중에 1~50을 가지고, 지사2는 51~100의 데이터를 갖는다.

 

  • 수직분할 : 칼럼을 기준으로 Column을 분리한다.
  • 칼럼을 기준으로 분할했기 때문에 각각의 테이블에는 동일한 Primary Key와 값을 가지고 있어야 한다.
  • 데이터를 한군데 모아도 동일한 Primary Key는 하나로 표현 가능하므로 데이터 중복은 발생하지 않는다.
  • ex) 제품의 재고량은 지사별로 관리, 제품의 단가는 본사에서 관리한다.
  • 본사 = 제품번호(Pk) + 단가    ,      지사 = 제품번호(Pk) + 재고량

 

4-3 테이블 복제 분산

 

  • 부분복제 : 통합된 데이터는 본사에, 각 지사별로는 나누어진 로우를 가지고 있다.
  • 본사의 데이터는 지사 데이터들의 합이다.
  • 전체 데이터의 통합처리도 본사의 테이블을 이용하므로 여러 테이블에 조인이 발생하지 않는다.
  • 실제 프로젝트에서 많이 사용하는 데이터베이스 분산 기법이다.
  • 지사에서 데이터의 입력, 수정, 삭제가 발생하여 본사에서 많이 이용한다.
  • ex) 본사는 전국 회원정보를 가진다.  지사1은 남자 회원정보를 지사2는 여자 회원정보를 가진다.
  • 본사 = 지사1 + 지사2

 

  • 광역복제 : 통합된 테이블을 본사에도 가지고 있고, 각 지사에도 본사랑 동일한 데이터를 모두 가진다.
  • 본사에서는 데이터를 관리하고, 지사에서는 데이터를 읽어 업무 프로세스를 발생시킨다.
  • 실제로 프로젝트에서 많이 쓰이는 데이터베이스 분산기법이다.
  • 본사에서 데이터가 입력, 수정, 삭제가 되어 지사에서 이용한다.

 

4-4 테이블 요약 분산

 

  • 분석요약 : 각 지사별로 존재하는 요약정보를 본사에 통합하여, 다시 전체에 대해 요약정보를 산출한다.
  • 통합 통계 데이터에 대한 정보제공에 용이한 분산기법이다.
  • ex) 지사1 = 판매실적 요약본, 지사2 = 판매실적 요약본 ---> 본사 = 전체 판매실적 요약본 

 

  • 통합요약 : 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여, 다시 전체에 대한 요약정보를 산출한다.
  • 각 지사는 타지사와 다른 요약정보를 가지고 있다.
  • 통합 요약은 지사에서 요약한 정보를 본사에서 취합하여, 각 지사별의 데이터를 비교하기 위해 사용한다.
  • 통합 통계 데이터에 대한 정보제공에 용이한 분산기법이다.

 

5. 데이터베이스 분산 설계 적용할 곳

  • 성능이 중요한 사이트에 적용한다.
  • 공통 코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성하면 성능이 좋아진다.
  • 실시간 동기화가 요구되지 않을 때 좋다. 
  • 특정 서버에 부하가 집중이 될 때 부하를 분산할 때도 좋다.
  • 백업 사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다.

 

 

 

참고문헌 - SQL 전문가 가이드 2013 Edition