일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- 브로커 패턴
- 정보 은닉
- 정처기
- UML 다이어그램
- 요구사항 분석
- 아키텍처 패턴
- baekjoon
- 언리얼엔진 함수
- UML
- 정보처리기사 실기
- Unreal Engint4
- 클라이언트 서버 패턴
- 정보처리기사
- 알고리즘 문제
- 언리얼엔진5
- DBMS
- 메타 데이터
- 동적 모델링
- 기능 모델링
- 단계적 분해
- 요구사항 확인
- 데이터베이스
- C++
- UnrealEngine5
- UnrealEngine
- 데이터 입출력
- 마스터 슬레이브 패턴
- 파이프 필터 패턴
- 팬아웃
Archives
- Today
- Total
게임 개발자를 향해
분산 데이터베이스 설계 본문
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 |