새소식

반응형
밥벌이/기타 데이터베이스

분산 데이터베이스

  • -
반응형
  • 분산 데이터베이스의 개요
    • 분산 데이터베이스의 개요
      • 논리적으로 같은 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터베이스
      • 물리적으로 사이트(Site) 분산이지만, 논리적으로 사용자 통합.공유 가능
      • 분산 DBMS : 분산된 데이터베이스를 관리하고 데이터의 분산을 사용자에게 투명하게 제공하는 소프트웨어 시스템
    • 분산 DBMS의 구성 요소
      • 분산 처리기

        자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템

      • 분산 데이터베이스

        지리적으로 분산되어 있는 데이터베이스로, 해당 지역의 특성에 맞게 데이터베이스가 구성됨

      • 통신 네트워크

        분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크

      • 분산 트랜잭션

        분산 데이터베이스 환경에서 하나의 사이트에서 처리되지 않고 물리적으로 분산되어 있는 여러 사이트에 걸쳐 처리되는 트랜잭션

    • 분산 데이터베이스의 장점
      • 지역 자치성 : 자신의 데이터를 지역적으로 제어하고, 원격 데이터 처리 센터에 대한 의존도 감소
      • 자원 분산 : 자원 및 부하의 분산으로 성능 향상이 가능
      • 단일 컴퓨터에서 처리 불가능한 대용량 데이터의 수용이 가능하고, 기존 시스템에서 사이트 추가 등을 통한 점진적인 확장이 용이
      • 데이터의 공유성 향상, 높은 신뢰성 및 가용성 제공, 질의 처리의 속도 향상(즉, 시스템 성능 향상), 효율성 및 융통성 제공, 분산 제어 등
    • 분산 데이터베이스의 단점
      • 복잡성 증가 : 사이트간 조정(보안, 데드락, 회복)문제로 인해 데이터베이스 설계 및 소프트웨어 개발 비용이 증가
      • 성능 저하 : 통신 링크 속도 저하, 메시지 교환 및 조정 비용 등으로 인한 처리의 오버헤드
      • 통제 기능 취약 : 보안 통제, 데이터 일괄 통제 등
      • 분산 알고리즘의 정확성 판단이 곤란 : 치명적 오류 발생 가능성이 내재
      • 비용 측면의 부담
        • 전문 인력 부족/기술 부족/경험 부족으로 개발 비용 과다 소요
        • 중앙 데이터베이스에서 분산 데이터베이스로 변경하는 작업이 복잡
        • 통신 메시지 처리 비용(통신 요금) 증가

             

  • 분산 데이터베이스의 특성 및 구조
    • 특성
      • 컴퓨터 네트워크를 기반으로 한 분산 시스템
      • 데이터는 물리적으로 분산되어 있어나, 논리적으로는 하나의 통합된 데이터베이스
      • 전통적 데이터베이스와 분산 데이터베이스의 비교

구분

전통적 데이터베이스

분산 데이터베이스

통제 방식

  • 중앙 통제 방식 적용
  • 전역 DBA
  • 지역 자치성
  • 지역 DBA

데이터 형태

  • 데이터 독립성
  • 데이터 독립성 및 분산
  • 투명성을 강조

데이터 중복성

  • 데이터 공유를 통한 중복성 감소
  • 중복성 증가가 바람직
  • 지역성 및 가용성 증가

데이터 구조

  • 데이터 접근을 위한 복잡한 구조 운영
  • 사이트간의 물리적 구조를 이용한 효율적 접근

트랜잭션 처리

  • 무결성/회복성/동시성 제어
  • 원가적 트랜잭션
  • 장애 및 동기화 문제 해결이 매우 어려움

비밀성 및 보안

  • DBA가 중앙 통제 역할을 수행하여 정당한 접근만 허용
  • 지역적 비밀성 및 보안 처리 필요
  • 구조

    • 전역 스키마(Global Schema)

      지역 데이터베이스 스키마들을 모두 포함하는 하나의 상위 집합으로, 사용자들은 전역 스키마를 통하여 마치 하나의 데이터베이스를 사용하는 것 처럼 이용

    • 분할 스키마 또는 단편화 스키마(Fragmentation Schema)

      전역 릴레이션과 단편과 사상을 정의

    • 할당 스키마(Allocation Schema)

      분산을 위한 단편들과 할당될 사이트 간의 관계를 표현하는 데, 한 단편의 이미지가 2개 이상의 사이트에 할당되는 경우 중복 저장됨

    • 지역 사상 스키마(Local Mapping Schema)

      물리적 이미지를 해당 DBMS가 관리하는 객체로 취급할 수 있도록 사상

         

  • 사상(Mapping)

    • 전역 릴레이션 : 데이터베이스가 전혀 분산되어 있지 않은 것처럼 분산 데이터베이스에 포함되어 있는 모든 데이터로 구성되는 릴레이션
    • 단편 : 분산을 위해 전역 릴레이션을 여러 개로 분할한 것
    • 물리적 이미지 : 각 사이트에 할당된 단편들의 모임

       

  • 설계 절차
    • 조직 전체의 업무 지원에 필요한 요구 사항 정의 및 분석
    • 전역 ERD 작성
    • 각 지역 스키마의 지역 ERD 작성 및 여러 지역 스키마 간의 동의어 또는 모순 조정
    • 여러 지역 스키마 간의 개체와 속성의 수정 및 일치(각 지역 개체 및 속성은 전체 개체 및 속성과 일치하여야 함)
    • 주요 트랜잭션을 중심으로 분할과 배치의 비용 및 효과를 분석하여 효과가 큰 경우 각 지역에 배치
  • 분할 조건
    • 완정성(Completeness) : 전역 릴레이션의 모든 데이터는 반드시 어느 한 단편에 속해야 함
    • 회복성(Reconstruction) : 단편화된 전역 릴레이션은 그 단편들로부터 다시 원래의 전역 릴레이션으로 원상 회복이 가능해야 함
    • 분리성(Disjointness) : 일반적으로 전역 릴레이션의 단편들은 내용이 중복되지 않도록 함
  • 데이터베이스 분할 및 배치
    • 수평 분할
      • 한 릴레이션의 레코드를 특정 조건에 따라 분할하여 둘 이상의 서로 다른 장소에 저장
      • 여러 지역에서 유사한 업무를 수행하되 그 대상이 다른 경우에 적합
    • 수직 분할
      • 한 릴레이션의 속성들을 분할하여 둘 이상의 서로 다른 장소에 저장
      • 서로 다른 지역의 업무에서 요구되는 데이터 속성이 다른 경우에 적합
    • 혼합 분할
      • 수평 분할과 수직 분할을 혼합하여 수행
      • 빠른 응답 속도와 통신 비용을 절감할 수 있으면, 데이터의 가용성과 신뢰성이 증가
      • 데이터 갱신이 복잡하고 비용이 높음
  • 투명성(중요도별)

투명성

기능

장점

단점

분할(단편화) 투명성

데이터베이스 분할 관리에 무관한 작업 환경 제공

  • 병목 현상 방지
  • 시스템 성능 향상
  • 충분한 설계 기술 술 필요

위치 투명성

데이터 저장 장소의 물리적 위치에 무관한 접근 제공

  • 응용 프로그램 단순화
  • 데이터의 자유로운 사이트 왕래
  • 이중 처리로 속도 저하
  • 저장 공간 낭비

지역 사상 투명성

지역 시스템과 무관한 이름 사용 가능

  • 상향식 점진적 확장 제공
  • 이질형 시스템 구현 시 복잡

중복 투명성

데이터의 다중 사이트 물리적 중복과 무관한 접근 제공

  • 질의 응답 성능 개선
  • 갱신 전파 시 오버 헤드 추가
  • 저장 공간 낭비

장애 투명성

구성 요소 장애에 무관한 트랜잭션 원자성 유지

  • 장애 처리 구현 단순
  • 장애 원인 규명 복잡

동시 투명성

동시 수행 시 각 트랜잭션 결과의 일관성 유지

  • 자원 사용 극대화
  • 복잡한 락킹

   

  • 분산 동시성 제어
    • 락킹과 타임스탬프 사용
      • 락킹 방식(주로 2단계 락킹이 사용)
        • 전체 시스템에 오직 하나의 전체 락 관리자(또는 조정자(coordinator)를 둠
        • 기본 사본에 대한 모든 락 요구는 기본 사본이 저장된 사이트의 락 관리자(또는 종속자(Subordinate))가 전담
        • 트랜잭션 그래프

          전역 트랜잭션명과 사이트명을 나타내는 노드를 가진 그래프

        • 트랜잭션 그래프에서 트랜잭션 Ti가 사이트 Sk에서 활동 중이면, 무방향 간선(Ti, Sk)이 존재
          • 트랜잭션 그래프에 무방향 비순환을 포함하면 전역 직렬성은 조장됨
        • 전역 2PL : 각 지역 사이트는 정확한 2PL을 사용
          • 전역 트랜잭션의 결과로 설정된 락은 그 트랜잭션이 끝에 이를 때에만 해제됨
      • 타임스탬프
        • 각 트랜잭션에 유일한 타임스탬프를 할당한 후 타임스탬프 순으로 연산을 처리
        • 타임스탬프 형태 : (타임, 사이트 번호)
        • 각 사이트는 논리 계수기 또는 지역 시계를 사용해 유일한 지역 타임스탬프를 생성
        • 유일한 전역 타임스탬프는 유일한 지역 타임스탬프와 유일한 사이트 식별자를 연결해 얻음
    • 전역 데드락(Global Deadlock)
      • 2개 이상의 사이트가 관련된 데드락
      • 각 사이트의 락 관리자는 자신의 사이트 정보만으로 전역 데드락을 탐지하지 못함
      • 전역 데드락의 탐지 방법
        • 전역 대기 그래프(Global Wait-for Graph) 방법
          • 각 지역 대기 그래프(Local Wait-for Graph)를 합침
          • 단점 : 지역 대기 그래프의 전송에 추가 통신 비용 필요
        • 타임 아웃(Time-out) 방법
          • 주어진 시간이 경과되면 전역 데드락 존재로 간주

             

  • 분산 트랜잭션 관리
    • 2단계 완료(2PC; 2-Phase Commit) 가정
      • 각 사이트는 트랜잭션 관리자를 유지
      • 트랜잭션 T는 n개 사이트 S1, S2, …, Sn에서 A1, A2, … , An으로 분리되어 수행
      • n개 사이트 중 하나가 트랜잭션 중재자(Coordinator) C가 됨
    • 2단계 완료 절차
      • 1단계(Prepare Phase)
        • 트랜잭션 T 실행 시 임의의 Ai 트랜잭션의 실패 시 해당 사이트 Si에서 복구됨
        • 모든 Ai 종료 후 C가 "종료 준비" 메시지를 모든 Si에 전송
        • 실패한 사이트는 "NOT OK" 메시지를 C에 전송
        • 성공한 사이트는 T에 관련된 모든 로그와 지역 자원을 지역 로그에 기록하고 "OK" 메시지를 C에 전송
      • 2단계(Commit Phase)
        • 모든 메시지가 "OK"이면, C는 "COMMIT 전송함" 메시지를 지역 로그에 기록하고 모든 Si에 "COMMIT" 명령을 전송
        • 임의의 사이트에서 "NOT OK" 응답이 있으면, C는 "ROLLBACK 전송함" 메시지를 지역 로그에 기록하고 모든 Si에 "ROLLBACK" 명령을 전송
        • 각 사이트는 전송된 대로 COMMIT 하거나 ROLLBACK하고, 해당 사이트의 T의 모든 자원을 반환하고 C로 응답(Acknowledgement) 메시지를 보냄
        • 모든 응답 수신 후 트랜잭션 중재자 C종료

             

  • 병렬 데이터베이스 구조
    • Shared Memory
      • 프로세스들과 디스크들이 버스 또는 상호 접속(interconnection) 네트워크를 통해서 공동의 메모리를 접근함
      • 하위 수준의 병행성(4~8)을 위해 사용됨
    • Shared Disk
      • 모든 프로세스들은 상호 접속 네트워크를 통해 모든 디스크들을 직접 접근할 수 있으나, 각자가 개인적으로 메모리를 가지고 있음
      • 어느 정도의 fault-tolerance를 지원할 수 있음
    • Shared Nothing
      • 노드는 프로세서, 메모리, 1개 이상의 디스크로 구성되며, 한 노드 상에 있는 프로세서는 다른 노드 상에 있는 프로세서와 상호접속 네트워크를 통해 통신
      • 수천 개의 프로세서까지 확장될 수 있음
    • Hierarchical
      • Shared-Memory, Shared-Disk, Shared-Nothing 구조들이 결합된 구조
      • Non-Uniform Memory Architecture(NUMA)이라고도 불림
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.