▷ 파티션(Partition)
대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
대용량 DB는 주로 이벤트가 발생하는 테이블을 분산시켜야 관리 및 성능 저하 방지에 좋다.
장점
액세스 범위를 줄여 쿼리 성능 향상
파티션 별로 데이터 분산되어 디스크 성능 향상
백업 및 복구 수행이 빠름
장애 발생시 데이터 손상 정도 최소화
입출력 분산
단점
하나의 테이블을 세분화하여 관리하므로 세심한 관리 필요
테이블 간 조인 비용이 증가
용량이 작은 테이블이면 오히려 성능 저하
파티션 종류
- 범위분할(Range Partitioning) : 지정한 열의 값을 기준으로 분할 ( 일별, 월별, 분기별 )
- 해시분할(Hash Partitioning) : 해시함수 적용한 값에 따라 분할, 파티션 별로 고르게 분산 저장가능하여 주민번호 데이터 같이 데이터가 고르게 분산되어 있는 경우가 좋음
- 조합분할(Composite Partitioning) : 범위분할로 분할한 다음 해쉬 함수로 분할 하는 방식, 범위 분할할 파티션이 커서 관리가 어려울 때 유용
▷ 데이터베이스 용량 설계
데이터가 저장될 공간을 설계
저장될 데이터 양, 인덱스, 컬러스터 등이 차지하는 공간을 예측하여 반영
▷ 분산 데이터베이스
논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 여러개의 사이트(site)에 분산된 데이터 베이스
분산 데이터베이스 목표
- 위치 투명성(Location Transparency) : 액세스하려는 데이터베이스의 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스 가능
- 중복 투명성(Replication Transparency) : 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 사용
분산 설계 방법
- 테이블 위치 분산 : 데이터베이스의 테이블을 각기 다른 서버에 분산시켜 배치
- 분할(Fragmentation) : 테이블의 데이터를 분할하여 분산시키는 것
분할규칙
완전성(Compteteness), 재구성(Reconstruction), 상호 중첩 배제(Disjointness)
주요 분할 방법
수평분할 : 특정 속성값을 기준으로 행단위 분할
수직분할 : 데이터 컬럼 단위로 분할
- 할당(Allocation) : 동일한 분할을 여러 개의 서버에 생성하는 분산방법 (중복이 없는 할당, 중복이 있는 할당)
▷ 데이터베이스 이중화(DataBase Replication)
시스템 오류 및 물리적 손상 발생 시 복구를 위해 동일한 데이터베이스를 복제하여 관리하는 것
복제된 여러 개의 데이터베이스가 동시에 관리되어 사용자가 수행한 작업을 다른 데이터베이스에도 적용
이중화 분류 ( 변경 내용 전달 방식에 따라 두 가지로 분류 )
Eager 기법 : 트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 적용되도록 하는 기법
Lazy 기법 : 트래재션 수행이 종료되면 변경사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달
데이터베이스 이중화 구성방법
활동-대기 (Active - Standy) 방법 : 한 DB가 활동하면 한 DB는 대기, 장애 발생시 대기중인 DB가 서비스, 관리가 쉬워 많은 기업이 애용
활동-활동 (Activy - Active) 방법 : 두 DB가 모두 활동하다가 장애 발생시 한 쪽만 활동, 처리율은 높지만 관리가 어려움
▷ 서버 클러스터링(Clustering)
두 대 이상의 서버를 하나의 서버처럼 운영하는 기술
서버 이중화 및 공유 스토리지를 사용하여 서버의 고가용성을 제공
종류
고가용성 클러스터링 : 하나의 서버 장애 발생시 다른 노드(서버)가 받아 처리하여 서비스 중단을 방지하는 방식
병렬처리 클러스터링 : 하나의 작업을 여러개의 서버에 분산하여 처리율을 높이는 방식
용어
공유 스토리지(NAS; Network Attached Storage) : 데이터 저장소를 네트워크로 연결하여 데이터를 공유하는 것
고가용성(HA; High Availability) : 시스템을 오랜시간동안 계속해서 운영 가능한 성질
RTO(Recovery Time Objective) : 업무 중단 시점부터 복구되어 가동될 때까지의 소요시간 (얼마나 빨리 복구 가능한지)
RPO(Recovery Point Objective) : 비상사태 또는 업무 중단시점으로부터 데이터를 복구할 수 있는 기준점 (얼마나 복구 가능한지)
▷ 스토리지(Storage)
단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
DAS (Direct Attached Stroage)
서버와 저장장치를 전용 케이블로 직접 연결하는 방식
컴퓨터 - USB 연결
직접 물리적으로 연결하므로 빠르고 쉽고 싸지만 확장성과 유연성이 부족
NAS (Network Attached Storage)
서버와 저장장치를 네트워크를 통해 연결하는 방식
Ethernet스위치로 다른 서버에서도 스토리지에 접근 가능
확장성과 유연성이 우수
SAN(Storage Area Network)
서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성 (DAS + NAS)
파이버 채널(FC) 스위치를 이용
파이버 채널(FC) 스위치는 서버와 저장장치를 광케이블로 연결하여 처리속도가 빠르다.
확장성, 유연성, 가용성이 모두 좋음
참고자료
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 논리 데이터 모델의 변환 (0) | 2021.10.04 |
---|---|
[정보처리기사] 데이터베이스 보안 (0) | 2021.10.04 |
[정보처리기사] 트랜잭션, 인덱스, 뷰 , 클러스터 (0) | 2021.10.03 |
[정보처리기사] 시스템 카탈로그 (0) | 2021.10.03 |
[정보처리기사] 정규화(Nomalization) (0) | 2021.10.03 |