분산 데이터베이스

Updated:

강의

http://www.kocw.net/home/search/kemView.do?kemId=317898

분산 데이터베이스

  • 자원공유
  • 통신속도 향상(computation speedup)
  • 신뢰성
  • 통신(communication)

1. 네트워크 구성

  • 망(mash) 형
  • 트리(tree) 형
  • 스타(star) 형
  • 버스(bus) 형
  • 링(ring) 형

2. 통신의 4대 요소

  • Naming(명명/식별)
  • Routing Strategy (경로)
  • Connection Strategy (연결)
  • Contention (경합)

3. 분산 데이터베이스의 개념

  • 논리적인 관점에서는 하나의 시스템에 속하지만
  • 물리적으로는 컴퓨터 네트워크를 통해 연결되어 여러 곳의 컴퓨터 사이트에 분산되어 있는것

4. 분산 데이터베이스의 종류

4.1 동질 분산 데이터베이스

  • 모든 사이트가 동일한 DMBS(ex: 오라클)
  • 로컬 사이트는 스키마ㄴ DMBS 변경 권한을 자체적으로 못함
  • 사용 목적을 미러 설정하여 설계
  • 하향식 설계 방식
  • 지역 사용자가 필요 없음
  • 모든 사용자는 전역 인터페이스를 통해 엑세스

4.2 이질 분산 데이터베이스

  • 모든 사이트는 서로 다른 DBMS
  • 독립적 운영
  • 서로의 존재를 인식하지 못하고
  • 협력 트랜잭션을 위한 제한된 기능을 제공
  • 상향식 설계 방식

5. 분산 데이터베이스의 특징

  • Multiplicity
    • 자원을 각 노드에 분산
  • message passing
    • 분산된 요소들은 네트워크를 통해 메시지 교환
  • local autonomy
    • 시스템 구성 요소들에게 어느 정도 자율성 보장
  • system transparency
    • 사용자는 물리적 위치를 알지 못하고 자원 사용
  • unified control
    • 자율성을 보장하면서 전체 정책에 의해 통합적 제어

6. 분산 데이터베이스 시스템의 장단점

6.1 장점

  • 데이터공유 및 관리의 지역화
  • 신뢰성과 가용성 높음
    • 중앙 집중식 시스템 구조
  • 효용성과 융통성 높음
  • 분산 제어 및 병렬 데이터 처리

  • 그러나

  • DBMS가 수행할 기능이 복잡함
    • 데이터에 관한 정보 유지
    • 분산 질의 처리
    • 분산 트랜잭션 관리 : 무결성유지
    • 중복 데이터 관리 : 일관성 유지
    • 분산 데이터베이스 회복
    • 분산 데이터베이스 보안
    • 분산 디렉터리(카탈로그 관리)

6.2 단점

  • 데이터베이스 설계가 어려움
  • 소프트웨어 개발 비용 증대
  • 처리 비용 증대
  • 잠재적 오류가 증대

7. 위치 투명성

  • 데이터베이스의 논리적인 명칭만으로 엑세스를 하는 것
  • 사용자가 DBMS가 데이터를 요청하게 되면, DBMS는 사용자가 요구하는 데이터의 위치를 시스템 카탈로그에서 검색하여 쉽게 알 수 있으므로, 응용 프로그램의 처리를 간단하게 해준다.
  • 자주 사용되는 데이터에 대해서는 해당 요청 사이트의 데이터베이스로 이동시켜 수행한다.
  • 즉, 응용 프로그램에는 아무런 영향을 주지 않으면서, 데이터는 효율적인 처리를 할 수 있게 된다.

8. 중복 투명성

  • 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 한 곳에 데이터가 존재하는 것처럼 사용
  • 시스템은 자동으로 여러 자료에 대한 작업을 수행

8.1 장점

  • 하나의 사이트에만 저장하는 것이 아니라, 중복해서 여러 사이트에 저장하게 되면, 데이터의 처리 요구를 하나의 사이트에서만 처리하는 것보다 여러 사이트에서 병렬 처리하게 되므로, 시스템의 성능을 향상시킬 수 이다.
  • 여러 사이트에 사본이 저장되어 있으므로 하나의 사이트가 고장이 나더라도 중단없이 계속해서 수행할 수 있게 되어, 데이터의 가용성을 높일 수 있다.
  • 여러 사이트에 사본이 저장되어 있으므로, 네트워크를 통한 데이터의 전송량이 감소된다.

8.2 단점

  • 변경 연산이 발생하면, 여러 사이트에 저장된 데이터 사본까지 변경 연산을 수행해야 하므로, 갱신 비용이 증가할 수 있다.
  • 병행 제어 기법을 수행하지 않으면, 중복된 데이터의 동시 갱신 시 데이터의 불일치를 발생시킬 수 있다.
  • 데이터의 사본을 저장하려면 저장 공간이 많이 필요하다.

9. 단편화 투명성

  • 하나의 릴레이션을 보다 작은 단위로 나누어,그 작은 단위를 또 하나의 릴레이션으로 취급하게 되는 것

9.1 조건

  • 완전성 : 전역 릴레이션에 속한 데이터는 단편화된 어떤 한 단편에는 반드시 속해야 한다.
  • 회복성 : 단편 단위로 저장된다 하더라도 회복 연산을 통해 전역 릴레이션으로 회복될 수 있어야 한다.
  • 분리성 : 단편화된 단편들끼리는 서로 중복되지 않게 분리되어야 한다.

9.2 수평적 단편화

  • 어떤 릴레이션을 수평적 조건으로 단편화하는 것

9.4 수직적 단편화

  • 어떤 릴레이션을 수직적 조건으로 단편화하는 것

9.4 혼합 단편화

  • 어떤 릴레이션을 수직/수평적 조건으로 단편화하는 것

10. 분산 데이터 베이스의 참조 구조

  • 전역 개념 스키마
    • 전역 스키마
    • 분산의 개념을 생각하지 않고 분산 데이터베이스에 포함될 모든 데이터의 내용을 정의
    • 전역 스키마는 전역 릴레이션 스키마의 집합
  • 단편화 스키마
    • 분산을 위해 전역 릴레이션을 여러 개의 논리적인 단위로 단편화한 것
    • 전역 릴레이션과 단편과의 대응 관계
  • 할당 스키마
    • 해당 단편들의 인스턴스에 대한 정보를 가지고 있음
    • 해당 단편들에 대한 인스턴스가 어느 사이트에 속해 있는지에 대한 정보도 정의