분산 DBMS-설계 전략

지난 장에서 우리는 다른 디자인 대안을 소개했습니다. 이 장에서는 디자인 채택에 도움이되는 전략을 연구합니다. 전략은 크게 복제와 조각화로 나눌 수 있습니다. 그러나 대부분의 경우 두 가지의 조합이 사용됩니다.

데이터 복제

데이터 복제는 두 개 이상의 사이트에 별도의 데이터베이스 복사본을 저장하는 프로세스입니다. 분산 데이터베이스에서 널리 사용되는 내결함성 기술입니다.

데이터 복제의 장점

  • Reliability − 사이트에 장애가 발생하더라도 다른 사이트에서 복사본을 사용할 수 있으므로 데이터베이스 시스템은 계속 작동합니다.

  • Reduction in Network Load− 데이터의 로컬 사본을 사용할 수 있기 때문에 특히 프라임 시간대에 네트워크 사용량을 줄이면서 쿼리 처리를 수행 할 수 있습니다. 데이터 업데이트는 프라임이 아닌 시간에 수행 할 수 있습니다.

  • Quicker Response − 데이터의 로컬 사본을 사용할 수 있으므로 쿼리 처리가 빠르고 결과적으로 빠른 응답 시간이 보장됩니다.

  • Simpler Transactions− 트랜잭션에는 서로 다른 사이트에있는 테이블의 조인 수가 적고 네트워크에서 최소한의 조정이 필요합니다. 따라서 그들은 본질적으로 더 단순 해집니다.

데이터 복제의 단점

  • Increased Storage Requirements− 데이터의 여러 사본을 유지하면 스토리지 비용이 증가합니다. 필요한 스토리지 공간은 중앙 집중식 시스템에 필요한 스토리지의 배수입니다.

  • Increased Cost and Complexity of Data Updating− 데이터 항목이 업데이트 될 때마다 다른 사이트에있는 모든 데이터 사본에 업데이트가 반영되어야합니다. 이를 위해서는 복잡한 동기화 기술과 프로토콜이 필요합니다.

  • Undesirable Application – Database coupling− 복잡한 업데이트 메커니즘을 사용하지 않는 경우 데이터 불일치를 제거하려면 애플리케이션 수준에서 복잡한 조정이 필요합니다. 그 결과 바람직하지 않은 애플리케이션 – 데이터베이스 커플 링이 발생합니다.

일반적으로 사용되는 복제 기술은 다음과 같습니다.

  • 스냅 샷 복제
  • 거의 실시간 복제
  • 풀 복제

분열

조각화는 테이블을 더 작은 테이블 집합으로 나누는 작업입니다. 테이블의 하위 집합이 호출됩니다.fragments. 조각화는 수평, 수직 및 하이브리드 (수평 및 수직 조합)의 세 가지 유형이 될 수 있습니다. 수평 조각화는 기본 수평 조각화와 파생 된 수평 조각화의 두 가지 기술로 더 분류 될 수 있습니다.

조각화는 원본 테이블이 조각에서 재구성 될 수 있도록 수행되어야합니다. 이는 필요할 때마다 조각에서 원본 테이블을 재구성 할 수 있도록하기 위해 필요합니다. 이 요구 사항을 "재건 성"이라고합니다.

조각화의 장점

  • 데이터가 사용 현장에 가깝게 저장되기 때문에 데이터베이스 시스템의 효율성이 향상됩니다.

  • 로컬 쿼리 최적화 기술은 데이터를 로컬에서 사용할 수 있으므로 대부분의 쿼리에 충분합니다.

  • 사이트에서 관련없는 데이터를 사용할 수 없으므로 데이터베이스 시스템의 보안 및 개인 정보를 유지할 수 있습니다.

단편화의 단점

  • 다른 조각의 데이터가 필요한 경우 액세스 속도가 매우 빠를 수 있습니다.

  • 재귀 적 조각화의 경우 재구성 작업에는 값 비싼 기술이 필요합니다.

  • 다른 사이트에 데이터의 백업 복사본이 없으면 사이트에 장애가 발생할 경우 데이터베이스를 비효율적으로 만들 수 있습니다.

수직 조각화

수직 조각화에서는 테이블의 필드 또는 열이 조각으로 그룹화됩니다. 재구성을 유지하려면 각 조각에 테이블의 기본 키 필드가 있어야합니다. 수직 조각화를 사용하여 데이터의 개인 정보를 보호 할 수 있습니다.

예를 들어 University 데이터베이스가 등록 된 모든 학생의 레코드를 다음 스키마를 갖는 Student 테이블에 보관한다고 가정 해 보겠습니다.

학생

Regd_No 이름 강좌 주소 학기 수수료 점수

이제 수수료 세부 정보는 계정 섹션에서 유지됩니다. 이 경우 디자이너는 다음과 같이 데이터베이스를 조각화합니다.

CREATE TABLE STD_FEES AS 
   SELECT Regd_No, Fees 
   FROM STUDENT;

수평 조각화

수평 조각화는 하나 이상의 필드 값에 따라 테이블의 튜플을 그룹화합니다. 수평 적 조각화는 또한 재건의 규칙을 확인해야합니다. 각 수평 조각에는 원래 기본 테이블의 모든 열이 있어야합니다.

예를 들어, 학생 스키마에서 컴퓨터 과학 과정의 모든 학생의 세부 정보를 컴퓨터 과학 학교에서 유지해야하는 경우 디자이너는 다음과 같이 데이터베이스를 수평으로 분할합니다.

CREATE COMP_STD AS 
   SELECT * FROM STUDENT  
   WHERE COURSE = "Computer Science";

하이브리드 조각화

하이브리드 조각화에서는 수평 및 수직 조각화 기술의 조합이 사용됩니다. 이것은 최소한의 외부 정보로 조각을 생성하기 때문에 가장 유연한 조각화 기술입니다. 그러나 원래 테이블의 재구성은 종종 비용이 많이 드는 작업입니다.

하이브리드 단편화는 두 가지 다른 방법으로 수행 할 수 있습니다.

  • 먼저 수평 조각 세트를 생성하십시오. 그런 다음 하나 이상의 수평 조각에서 수직 조각을 생성합니다.

  • 먼저 수직 조각 세트를 생성하십시오. 그런 다음 하나 이상의 수직 조각에서 수평 조각을 생성합니다.