게임 개발자를 향해

분산 데이터베이스 설계 본문

정보처리기사/2. 데이터 입출력 구현

분산 데이터베이스 설계

뿌단이 2022. 9. 13. 18:33

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

  • 데이터베이스 용량 설계는 데이터가 저장될 공간을 정의하는 것이다.
  • 데이터베이스 용량을 설계할 때는 테이블에 저장될 데이터 양인덱스, 클러스터 등이 차지하는 공간 등을 예측하여 반영해야 한다.

<데이터베이스 용량 설계의 목적>

  • 데이터 베이스의 용량을 정확히 산정하여 디스크의 저장공간을 효과적으로 사용하고 확장성 및 가용성을 높인다.
  • 디스크의 특성을 고려하여 설계함으로써 디스크의 입출력 부하를 분산시키고 채널의 병목현상을 최소화한다.


<여기서 Tip!>
데이터베이스의 용량설계의 목적은?DB의 용량을 정확히 산정하여 저장공간을 효율적으로 사용하고 디스크의 입출력 부하를 분산시켜 병목현상을 최소화한다.

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

  • 분산 데이터베이스는 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 사이트에 분산된 데이터베이스를 말한다.
  • 분산 데이터베이스는 데이터의 처리나 이용이 많은 지역 데이터베이스를 위치시킴으로써 데이터의 처리를 가능한 해당 지역에서 해결될 수 있도록 한다.
  • 분산 데이터베이스 설계는 애플리케이션이사용자분산되어 저장된 데이터에 접근하게 하는 것을 목적으로 한다.


<여기서 Tip!>

분산 데이터베이스
논리적으로는 하나의 시스템
물리적으로는 여러개의 사이트에 분산된 데이터베이스

3. 분산 데이터베이스의 목표

목표 설명
위치 투명성
(Location Transparency)
액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스할 수 있다.
중복 투명성
(Replication Transparency)
동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행한다.
병행 투명성
(ConcurrencyTransparency)
분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않는다.
장애 투명성
(Failure Transparency)
트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리한다.


<여기서 Tip!>

투명성이란 어떠한 사실이 존재함에도 마치 투명하여 보이지 않는 것처럼 사실의 존재 여부를 신경쓰지 않는 성질을 얘기한다.

위 분산 데이터베이스의 투명성들은 해당 키워드의 투명성을 생각하면 외위 쉽다.

위치 투명성 : 위치를 몰라도 논리적인 명칭만으로 액세스할 수 있음.
중복 투명성 : 분산된 데이터가 여러곳에 중복되도 하나에 데이터만 존재하는것 처럼 사용하는 것.
병행 투명성 : 다수의 트랜잭션이 병행 실행, 즉 동시에 실행되도 그 트랜잭션의 결과는 영향을 받지 않음.
장애 투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 등 장애가 있어도 트랜잭션을 정확하게 처리하는 것.


4. 분산 설계 방법

방법 설명
테이블 위치 분산 - 데이터베이스의 테이블을 각기 다른 서버에 분산시켜 배치하는 방법
분할
(Fragmentation)
- 테이블의 데이터를 분할하여 분산시키는 것
<분할 규칙>
- 완전성(Completeness)

- 재구성(Reconstruction)
- 상호 중첩 배제(Disjointness)

<주요 분할 방법>
- 수평분할 : 특정 속성의 값을 기준으로 행(Row) 단위로 분할
- 수직분할 : 데이터 컬럼(속성) 단위로 분할
할당
(allocation)
- 동일한 분할을 여러 개의 서버에 생성하는 분산 방법
- 중복이 없는 할당과 중복이 있는 할당으로 나뉨

<여기서 Tip!>

제일 중요한 분산 데이터베이스 설계 방법들이다.

테이블 위치 분산 : 테이블을 다른 서버에 분산시켜 배치

분할 : 분할은 규칙을 기준으로 분할하며 수평분할과 수직분할이 있다.
<종류>
- 수평 분할 : 행 단위로 분할
- 수직 분할 : 열 단위로 분할

할당 : 동일한 분할을 여러 개의 서버에 생성하는 분산 방법
<종류>
- 중복이 없는 할당
- 중복이 있는 할당


읽어주셔서 감사합니다!
정처기 화이팅!

'정보처리기사 > 2. 데이터 입출력 구현' 카테고리의 다른 글

데이터베이스 보안  (0) 2022.09.15
데이터베이스 이중화/서버 클러스터링  (1) 2022.09.15
파티션(Patition)  (0) 2022.09.13
뷰 / 클러스터 (View / Cluster)  (0) 2022.09.13
인덱스(Index)  (0) 2022.09.13