분산 데이터베이스 설계

0

정보처리기사

목록 보기
47/100

1. 분산 데이터베이스 설계란?


1.1 정의

  • 분산 데이터베이스 설계란:
    • 논리적으로 하나의 시스템에 속하지만, 물리적으로는 네트워크로 연결된 여러 사이트에 데이터베이스를 분산 배치하는 것을 의미.
    • 목적: 효율적인 데이터 관리, 성능 최적화, 확장성 제공.

2. 데이터베이스 용량 설계


2.1 정의

  • 데이터베이스에 저장될 데이터 양을 예측하고, 이를 기반으로 디스크 공간을 효과적으로 설계하는 과정.
  • 저장 공간과 성능 최적화를 위해 데이터와 인덱스 등 여러 요소를 고려.

2.2 용량 설계 목적

  1. 저장 공간의 효율적 활용:
    • 데이터를 효율적으로 배치하고 디스크 사용 최적화.
  2. 확장성과 가용성:
    • 시스템 확장 및 데이터 가용성을 극대화.
  3. 부하 분산:
    • 디스크 입출력 부하를 분산시켜 병목 현상을 줄임.
  4. 장애 최소화:
    • 데이터 손상 및 장애 발생 시 영향 최소화.

3. 분산 데이터베이스 설계


3.1 분산 데이터베이스의 특징

  • 중앙 집중형과는 달리, 데이터가 여러 물리적 위치에 분산되어 저장.
  • 각 지역 또는 사용량에 따라 데이터베이스를 배치하여 효율적으로 데이터 접근 가능.

3.2 분산 데이터베이스 설계의 목표 (투명성)

  1. 위치 투명성:
    • 데이터의 실제 물리적 위치를 사용자가 알 필요 없음.
    • 데이터베이스의 논리적 명칭으로만 접근 가능.
  2. 중복 투명성:
    • 동일한 데이터가 여러 위치에 중복 저장되더라도, 사용자 입장에서는 하나의 데이터처럼 보임.
  3. 병행 투명성:
    • 여러 트랜잭션이 동시에 실행되어도, 결과는 일관성 있게 유지.
    • 예: 동일 데이터에 대한 병렬 접근 시 데이터 무결성 보장.
  4. 장애 투명성:
    • 시스템 장애가 발생하더라도, 데이터 정확성과 무결성 유지.
    • 트랜잭션이 중단되면 자동 복구.

4. 분산 데이터베이스 설계 방법


4.1 테이블 위치 분산

  • 테이블을 서로 다른 서버에 분산 배치.
  • 예:
    • 사용자 데이터는 서울 서버에 배치.
    • 주문 데이터는 부산 서버에 배치.

4.2 데이터 분할 (Partitioning)

  1. 수평 분할:

    • 데이터를 행 단위로 나눔 (튜플 단위 분할).
    • 예:
      • 1학년 학생 데이터를 서버 A에, 2학년 데이터를 서버 B에 저장.
    • 특징:
      • 중복 데이터 없음.
      • 지역별 데이터 분리에 유리.
  2. 수직 분할:

    • 데이터를 열 단위로 나눔 (속성 단위 분할).
    • 예:
      • 학생 테이블에서 개인정보(이름, 주민등록번호)는 서버 A에, 학적 정보(학번, 학과)는 서버 B에 저장.
    • 특징:
      • 속성 중복 불가 (단, 식별자 제외).

4.3 할당 (Allocation)

  1. 중복 없는 할당:
    • 특정 데이터는 한 번만 저장.
    • 예: 데이터베이스에서 하나의 서버에만 특정 테이블 저장.
  2. 중복 있는 할당:
    • 데이터를 여러 서버에 중복 저장.
    • 예: 동일한 사용자 데이터를 서울과 부산 서버에 중복 저장하여 장애 발생 시 백업 역할.

5. 분산 데이터베이스의 장단점


5.1 장점

  1. 성능 향상:
    • 데이터를 지역별로 분산하여 처리 속도 개선.
  2. 확장성:
    • 서버 및 스토리지를 필요에 따라 확장 가능.
  3. 가용성:
    • 한 지역에 장애가 발생해도 다른 지역에서 서비스 제공 가능.
  4. 부하 분산:
    • 트래픽을 여러 서버에 분산하여 병목 현상 최소화.

5.2 단점

  1. 복잡한 관리:
    • 데이터가 분산되어 있어, 관리가 중앙 집중형에 비해 어려움.
  2. 비용 증가:
    • 네트워크 통신 및 서버 유지 관리 비용 발생.
  3. 동기화 문제:
    • 중복 데이터가 있는 경우, 변경 내용 동기화 필요.
  4. 조인 비용 증가:
    • 분산된 데이터 간 조인을 처리할 때 성능 저하 가능.

6. 정리


항목내용
분산 데이터베이스 정의네트워크로 연결된 여러 지역에 분산 저장된 데이터베이스 시스템.
목표 (투명성)위치, 중복, 병행, 장애 투명성 제공.
설계 방법테이블 위치 분산, 수평/수직 분할, 중복/중복 없는 할당.
장점성능 향상, 확장성, 가용성, 부하 분산.
단점관리 복잡성 증가, 비용 증가, 동기화 문제, 조인 비용 증가.

분산 데이터베이스 설계는 대규모 시스템에서 필수적인 기술입니다. 설계 시 데이터 접근 패턴, 성능 요구사항, 관리 용이성 등을 철저히 분석하여 최적화된 구조를 구현하는 것이 중요합니다.

0개의 댓글