분산 데이터베이스

한준수·2023년 5월 28일
0

SQLD

목록 보기
12/31

분산 데이터베이스 정의

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

분산 DB를 만족하기 위한 6가지 투명성(Transparency)

  1. 분할 투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장
  2. 위치 투명성 : 사용하려는 데이터의 저장장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함.
  3. 지역사상 투명성 : 지역DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용 가능
  4. 중복 투명성 : DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질
  5. 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 Transparency의 원자성 유지
  6. 병행 투명성 : 다수 Transparency 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현

분산 데이터베이스 장단점

장점

  • 지역 자치성, 점증적 시스템 용량 확장
  • 신뢰성과 가용성
  • 효율성과 융통성
  • 빠른 응담 속도와 통신비용 절감
  • 데이터의 가용성과 신뢰성 증가
  • 시스템 규모의 적절한 조절
  • 각 지역 사용자의 요구 수용 증대

단점

  • 소프트웨어 개발 비용
  • 오류의 잠재성 증대
  • 처리 비용의 증대
  • 설계, 관리의 복잡성과 비용
  • 불규칙한 응답속도
  • 통제의 어려움
  • 데이터 무결성에 대한 위협
어느 분야에서나 늘 그렇듯 장단점은 비용과 신뢰성

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

분산 환경으로 데이터베이스를 설계하는 방법은 일단 통합 데이터 모델링을 하고 각 테이블별로 업무적인 특징에 따라 지역 또는 서버별로 테이블을 분산 배치나 복제 배치하는 형태로 설계할 수 있다.

데이터 베이스 분산 종류

1. 테이블 위치 분산 :

  • 테이블 위치 분산은 테이블의 구조는 변하지 않는다.
  • 테이블이 다른 데이터베이스에 중복되어 생성되지도 않는다.
  • 각각의 테이블마다 위치가 다르게 지정되어야 한다면 각각 테이블마다 위치를 표기하여 테이블을 생성하도록 한다.

설계된 테이블을 본사와 지사단위로 분산
테이블별 위치 분산은 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 이용한다.

테이블의 위치가 위치별로 다르므로 테이블의 위치를 파악할 수 있는 도식화된 위치별 데이터베이스 문서가 필요하다.

2.테이블 분할(Fragmentation) 분산

  • 테이블 분할 분산은 단순히 위치만 다른 곳에 두는 것이 아니라 각각의 테이블을 쪼개어 분산하는 방법이다.
    1. 수평분할(Horizontal Fragmentation)

    • 지사(Node)에 따라 테이블을 특정 컬럼의 값을 기준으로 로우(Row)를 분리한다.
    • 각 지사별로 데이터가 다르며, 데이터를 한군데 집합 시켜 놓아도 Primary Key에 의해 중복이 발생되지 않는다.

    2. 수직분할(Vertical Fragmentation)

    • 지사(Node)에 따라 테이블 칼럼을 기준으로 칼럼(Column)을 분리한다.
    • 모든 데이터가 각 지사별로 분리되어 있는 형태를 가지고 있다.
    • 칼럼을 기준으로 분할하였기 때문에 각각의 테이블에는 동일한 Primary Key 구조와 값을 가지고 있어야 한다.
    • 데이터 중복발생 X

테이블 복제(Replication) 분산

테이블 복제 분산이란 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형이다

다른 지역간의 데이터를 복제하는데 많은 시간이 소요되고 데이터 베이스와 서버에 부하가 발생하므로 보통 실시간처리에 의해 복사하는 것보다는 야간에 배치작업에 의해 수행되는 경우가 많다.

복제 분산 종류

부분복제(Segment Replication)

마스터 DB에서 테이블의 일부의 내용만 다른 지역이나 서버에 위치

  • 지사에 존재하는 데이터는 반드시 본사에 존재한다.
  • 각 지사에서 데이터 처리가 용이할 뿐만 아니라 전체 데이터에 대한 통합처리도 본사에 있는 통합 테이블을 이용하게 되므로 여러 테이블에 조인이 발생하지 않는 빠른 작업 수행이 가능해진다.

광역 복제

마스터 DB 테이블의 내용을 각 지역이나 서버에 존재

본사와 지사 모두 동일한 정보를 가지고 있으므로 본사나 자사나 데이터 처리에 특별한 제약을 받지 않는다.


테이블 요약(Summarization)분산

지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우
요약 방식에 따라 아래와 같이 나눌 수 있다.

분석 요약(Rollup Replication)

동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

ex) 판매실적 지사 A, 지사B

통합요약(Consolidation Replication)

분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

ex) 판매실적 지사A : C 제품, 지사 B : D 제품


분산 DB 설계를 고려해야 하는 이유

  1. 성능이 중요한 사이트에 적용해야 한다.
  2. 공통코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성하면 성능이 좋아진다.
  3. 실시간 동기화가 요구되지 않는 경우, Near Real Time의 업무적 특성을 가지고 있을 경우
  4. 특정 서버에 부하가 집중이 될 때 부하를 분산
  5. 백업 사이트를 구성하는 경우
profile
빅데이터과 1학년

0개의 댓글