데이터베이스 용량 설계
데이터를 저장할 공간을 미리 예측하고 설계하는 과정으로,
시스템의 성능, 확장성, 안정성을 확보하는 첫 단계
- 데이터가 저장될 공간(테이블, 인덱스, 클러스터 등)을 계산하고 배치하는 설계 과정
- 디스크 저장 공간을 효율적으로 사용하고 확장성·가용성을 높이기 위함
- 테이블 데이터량, 인덱스 크기, 클러스터, 로그 파일, 백업 데이터 등을 고려
- 설계 목적
- 정확한 용량 산정
- 각 테이블·인덱스가 차지할 크기를 예측하여 공간 확보
- 저장 공간 효율화
- 디스크 공간 낭비 방지 및 확장성 향상
- 성능 최적화
- 디스크 I/O 부하 분산으로 병목현상 최소화
- 가용성 확보
- 디스크 장애 시에도 빠르게 대체 가능하도록 설계
- 정확한 용량 산정
분산 데이터베이스 설계
논리적으로 하나의 통합된 시스템처럼 보이지만,
실제로는 여러 지역(사이트)에 나누어 저장된 데이터베이스
- 하나의 논리적 DB를 여러 물리적 노드(서버)에 분산 저장한 시스템
- 각 서버가 자율적으로 동작하며 네트워크를 통해 협력
- 데이터가 필요한 지역에서 바로 접근하여 성능, 가용성, 효율성을 높임
- 사용자는 데이터가 어디에 저장되어 있는지 알 필요 없음
분산 데이터베이스의 주요 목표
- 위치 투명성(Location Transparency)
- 사용자가 데이터의 실제 저장 위치를 알지 못해도 논리 이름으로 접근 가능
- 중복 투명성(Replication Transparency)
- 동일 데이터가 여러 곳에 저장되어 있어도 하나의 데이터처럼 일관성 유지
- 병행 투명성(Concurrency Transparency)
- 여러 트랜잭션이 동시에 수행되어도 결과가 일관성 있게 유지
- 장애 투명성(Failure Transparency)
- 서버, 네트워크, 트랜잭션 장애 발생 시에도 시스템이 자동으로 복구 수행
→ 사용자는 '어디서, 몇 개의 서버가, 어떻게 동작하는지' 몰라도
항상 하나의 데이터베이스처럼 사용할 수 있게 만드는 것이 목표
분산 설계 방법
데이터를 어떻게 분할하고 배치할지가 핵심
대표적인 방법은 테이블 위치 분산, 분할, 할당
- 테이블 위치 분산
- 데이터베이스의 테이블 단위로 서버를 분산 배치하는 방법
- 서버별로 특정 테이블만 관리
- 단순하고 유지보수가 쉬움
- 조인 연산이 여러 서버 간에서 발생하면 성능 저하
- 분할(Fragmentation)
- 테이블의 데이터를 행(Row) 또는 열(Column) 단위로 분리하여 분산 저장하는 방법
- 목적
- 데이터 접근 효율 향상
- 지역별 데이터 독립성 확보
- 분할 규칙
- 완전성(Completeness)
- 재구성(Reconstruction)
- 상호 중첩 배제(Disjointness)
- 주요 분할 방법
- 수평 분할
- 특정 속성의 값을 기준으로 행(Row)을 분할
- 수직 분할
- 컬럼(속성) 단위로 데이터를 분할
- 수평 분할
- 할당(Allocation)
- 분할된 데이터를 서버별로 어떻게 배치할 것인지 결정하는 과정
- 유형
- 중복 없는 할당 : 각 서버가 자신에게 배정된 데이터만 가짐
- 중복 있는 할당 : 동일 데이터를 여러 서버에 복제해 저장
- 장점
- 데이터 접근 속도 향상
- 장애 시 대체 가능
- 단점
- 데이터 동기화 비용 증가
정리
| 구분 | 내용 |
| 정의 | 여러 지역에 분산 저장된 데이터베이스를 하나의 논리적 DB처럼 관리하는 기술 |
| 목표 | 위치/중복/병행/장애 투명성 확보 |
| 설계 방법 | 테이블 위치 분산, 분할, 할당 |
| 분할 방식 | 수평 분할(행 기준) / 수직 분할(열 기준) |
| 할당 방식 | 중복 없음 / 중복 있음 |
| 장점 | 지역 처리 효울, 장애 복원력, 가용성 향상 |
| 단점 | 관리 복잡성, 동기화 부담, 조인 비용 증가 |
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 데이터베이스 보안 (0) | 2025.11.02 |
|---|---|
| 정보처리기사 실기 - 데이터베이스 이중화와 서버 클러스터링 (0) | 2025.11.02 |
| 정보처리기사 실기 - 파티션 (0) | 2025.11.02 |
| 정보처리기사 실기 - 뷰와 클러스터 (0) | 2025.11.02 |
| 정보처리기사 실기 - 인덱스 (0) | 2025.11.01 |