자격증/SQLD

[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 6) 분산 데이터베이스와 성능

  • -
728x90

4) 분산 데이터베이스와 성능

1. 분산 데이터베이스의 개요

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

데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역, 여러 노드로 위치시켜 사용성과 성능을 극대화 시킨 데이터베이스이다

2. 분산데이터베이스의 투명성

  • 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 있고, 각 단편의 사본이 여러 사이트에 저장
  • 위치 투명성 : 사용하려는 데이터 저장 위치가 불필요 하다
  • 지역 사상 투명성 : 지역 DBMS와 물리적 DB사이의 사상(매핑)을 보장
  • 중복 투명성 : DB 객체가 여러 사이트에 중복되어 있는지 알 필요가 없음
  • 장애 투명성 : DBMS와 Computer의 장애에 무관한 트랜잭션의 원자성(데이터 무결성) 유지
  • 병행 투명성 : 다수의 트랜잭션을 동시에 수행할 때 결과의 일관성 유지

3. 분산 데이터베이스의 적용 방법 및 장단점

  • 적용방법
    • 업무의 흐름에 따른 아키텍쳐 특징으로 데이터베이스를 구성한다
    • 즉, 업무 특징에 따라 데이터베이스 분산구조를 선택적으로 설계할 수 있고 그 능력이 필요하다
  • 장단점
    • 장점 : 지역 자치성, 점증적 시스템 용량 확장(시스템 규모의 적절한 조절), 데이터의 신뢰성과 가용성, 효용성과 융통성(각 지역 사용자의 요구 수용 증대), 빠른 응답 속도와 통신비용 절감
    • 단점 : SW 개발 비용, 처리비용 증가, 오류의 잠재성 증대, 설계/관리 복잡성과 비용, 통제의 어려움, 데이터 무결성에 대한 위험, 불규칙한 응답 속도

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

분산환경으로 데이터베이스를 설계하는 방법은 먼저 통합 데이터 모델링 후 각 테이블 별로 업무적 특징에 따라 지역 또는 서버별로 테이블을 분산하거나 복제 배치하는 형태로 설계한다

  • 테이블 위치 분산

    • 설계된 테이블의 위치를 각각 다르게 위치시키는 기법
    • 테이블 구조는 변하지 않고, 테이블이 다른 데이터베이스에 중복되어 생성되지도 않는다
    • 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 이용한다
  • 테이블 분할 분산

    • 위치만 다른 곳에 두는 것이 아니라 각각의 테이블을 쪼개서 분산하는 방법
    • 수평분할
    • 테이블을 특정 칼럼의 값을 기준으로 로우를 분리(컬럼은 분리되지 않음)
    • 컬럼을 기준으로 분할했기 때문에 각각의 테이블에는 동일한 PK 구조와 값을 가지고 있어야 함
    • 분할 테이블에 대해 통합 처리를 위해서는 조인이 필요해 성능 저하가 예상되므로 통합처리 프로세스가 많은 경우에는 가급적 사용하지 않는다
  • 테이블 복제 분산

    • 동일한 테이블을 다른 지역이나 서버에 동시에 생성하여 관리하는 기법

    • 부분복제

      • 테이블의 일부 내용만 다른 지역이나 서버에 위치시키는 방법
      • 각각의 테이블에서 데이터 처리에도 용이하고, 전체 데이터(통합 테이블)에서도 여러 테이블 조인할 필요가 없어서 빠른 작업 수행이 가능
      • 수평분할과 만차가지로 분할된 테이블 사이에서 데이터의 중복은 발생하지 않지만, 원래 테이블(마스터 데이터베이스)와 분할된 테이블 사이에는 중복이 항상 발생된다(데이터 무결성을 위협하는 요소)
      • 통합 데이터를 유지하기 위한 과정이 오래걸리고 서버에 부하가 발생하기 때문에 실시간 처리는 어렵다
      • 마스터 DB와 분할된 DB를 모두 비교(정합성 일치)는 어렵고, 분할된 DB에서 수정된 사항을 마스터 DB에 업데이트 하는 방향으로 통합 데이터 유지
    • 광역복제

      • 테이블 전체 내용을 각 지역이나 서버에 존재시키는 방법
      • 통합 데이터를 유지하기 위한 과정이 오래 걸리고 서버에 부하가 발생하기 때문에 실시간 처리는 어렵다
    • 테이블 요약 분산

      • 지역 또는 서버간에 데이터는 서로 비슷하지만 다른 유형으로 존재하는 경우

      • 분석 요약

        • 분산된 테이블에 존재하는 데이터를 요약하고, 마스터 DB에서 통합하여 다시 요약 데이터를 산출하는 방법

        지사1 테이블에는 지사1의 판매실적이 있고, 지사2 테이블에는 지사2의 판매실적이 있을 때, 본사 테이블에서는 모든 지사의 판매실적을 통합한 실적 데이터가 생성된다

      • 통합 요약

        • 분산된 테이블 별로 존재하는 다른 내용의 데이터를 마스터 DB에서 통합하여 다시 전체에 대한 요약 데이터를 산출하는 방법

        지사1 테이블과 지사2 테이블에는 판매실적이 있지만, 각각 다른내용(예를 들어, 지사1은 상의, 지사2는 하의)으로 존재할 때, 본사에서는 모든 지사의 판매실적을 통합한 실적 데이터가 생성된다

출처 : https://blog.naver.com/handuelly/221709963908

728x90
300x250
Contents

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

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