자격증/정보처리기사 📌 [정보처리기사] 물리 데이터베이스 설계 - 분산 데이터베이스 설계
  • 728x90
    반응형

     

     

    목차

       

      분산 데이터베이스 정의

      📌 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러개의 컴퓨터 사이트(Site)에 분산되어 있는 데이터베이스를 말한다.

       

      • 분산 데이터베이스는 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록 한다.

       

      분산 데이터베이스 구성 요소

      분산 처리기 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다.
      분산 데이터베이스 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성된다.
      통신 네트워크 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크를 말한다.

       

       

       

      분산 데이터베이스 설계 시 고려 사항

      • 작업 부하(Work Load)의 노드별 분산 정책
      • 지역의 자치성 보장 정책
      • 데이터의 일관성 정책
      • 사이트나 회선의 고장으로부터의 회복 기능
      • 통신 네트워크를 통한 원격 접근 기능

       

      분산 데이터베이스의 목표

      • 위치 투명성(Location Transparency) : 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만드로 액세스할 수 있다.
      • 중복 투명성(Replication Transparency) : 동일 데이터가 여러 곳에 중목되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행한다.
      • 병행 투명성(Concurrency Transparency) : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않는다.
      • 장애 투명성(Failure Transparency) : 트랜잭션, DBMS, 네트워크, 장애에도 불구하고 트랜잭션을 정확하게 처리한다.

       

       

      분산 데이터베이스의 장, 단점

      장점 단점
      - 지역 자치성이 높다.
      - 자료의 공유성이 향상된다.
      - 분산 제어가 가능하다.
      - 시스템 성능이 향상된다.
      - 중앙 컴퓨터의 장애가 전체 시스템에 영향을 끼치지 않는다.
      - 효용성과 융통성이 높다.
      - 신로성 및 가용성이 높다.
      - 점진적 시스템 용량 확장이 용이하다.
      - DBMS가 수행할 기능이 복잡하다.
      - 데이터베이스 설계가 어렵다.
      - 소프트웨어 개발 비용이 증가한다.
      - 처리 비용이 증가한다.
      - 잠재적 오류가 증가한다.

       

       

       

      분산 데이터베이스 설계

      📌 분산 데이터베이스 설계는 애플리케이션이나 사용자가 분산되어 저장된 데이터에 접근하게 하는 것을 목적으로 한다.

       

      • 잘못 설계된 분산 데이터베이스는 복잡성 증가, 응답 속도 저하, 비용 증가 등의 문제가 발생한다.
      • 분산 데이터베이스의 설계는 전역 관계망을 논리적 측면에서 소규모 단위로 분할한 후, 분할된 결과를 복수의 노드에 할당하는 과정으로 진행된다. 노드에 할당된 소규모 단위를 분할(Fragment)이라 부른다.
      • 분산 설계 방법에는 테이블 위치 분산, 분할(Fragmentation), 할당(Allocation)이 있다.

       

       

      테이블 위치 분산

      📌 테이블 위치 분산은 데이터베이스의 테이블을 각기 다른 서버에 분산시켜 배치하는 방법을 의미한다.

       

      • 테이블 위치를 분산할 때는 테이블의 구조를 변경하지 않으며, 다른 데이터베이스의 테이블과 중복되지 않게 배치한다.
      • 데이터베이스의 테이블을 각각 다른 위치에 배치하려면 해당 테이블들이 놓일 서버들을 미리 설정해야 한다.

       

      🔔 예) 테이블 분산 위치

      위치\테이블 사원 부서 상품 판매현황 거래업체
      본사 O O     O
      지사     O O  

       

       

       

      분할(Fragment)

      📌 분할은 테이블의 데이터를 분할하여 분산시키는 것이다.

       

      • 분할 규칙
        • 완전성(Completeness) : 전체 데이터를 대상으로 분할해야 한다.
        • 재구성(Reconstruction) : 분할된 데이터는 관계 연산을 활용하여 본래의 데이터로 재구성할 수 있어야 한다.
        • 상호 중첩 배제(Dis-jointness) : 분할된 데이터는 서로 다른 분할의 항목에 속하지 않아야 한다.
          • 예) 수평 분할한 경우 각각의 분할에 포함된 튜플들이 상호 중복되지 않아야 하고, 수직 분할한 경우는 각각의 분할에 포함된 속성들이 중복되지 않아야 한다.
      • 주요 분할 방법
        • 수평 분할 : 특정 속성의 값을 기준으로 행(Row) 단위로 분할
        • 수직 분할 : 데이터 컬럼(속성) 단위로 분할

       

      할당(Allocation)

      📌 할당은 동일한 분할을 여러 개의 서버에 생성하는 분산 방법으로, 중복이 없는 할당(Allocation)과 중복이 있는 할당(Allocation)으로 나뉜다.

       

      • 비중복 할당 방식
        • 최적의 노드를 선택해서 분산 데이터베이스의 단일 노드에서만 분할이 존재하도록 하는 방식이다.
        • 일반적으로 애플리케이션에는 릴레이션을 배타적 분할로 분리하기 힘든 요구가 포함되므로 분할된 테이블 간의 의존성은 무시되고 비용 증가, 성능 저하 등의 문제가 발생할 수 있다.
      • 중목 할당 방식 : 동일한 테이블을 다른 서버에 복제하는 방식으로, 일부만 복제하는 부분 복제와 전체를 복제하는 완전 복제가 있다.

       

       

       

      728x90
      반응형
    상단으로