반응형
데이터베이스와 아키텍쳐 구성
DB 서버의 다중화 - 클러스터링
- 클러스터링이 어려운 컴포넌트로 인식
- 데이터를 보존하는 '영속 계층' 이기 때문
- '데이터의 정합성이 중요하기 때문'
가장 기본적인 다중화
DB 서버 N, 저장소 1
- Active-Active : 클러스터를 구성하는 컴포넌트를 동시에 가동
- Active-Standby : 클러스터를 구성하는 컴포넌트 중 실제 가동하는 것은 Active, 남은 것은 대기하고 있는다.
Active-Active 구성의 장단점
- 시스템이 다운되어 있는 시간이 짧다
- 복수의 DB 서버가 동시에 작동하고 있어서 한 대가 다운되어 동작 불능이 되어도 남은 서버가 처리를 계속하기 떄문에 시스템 전체가 정지하는 것을 방지할 수 있음
- 성능이 좋다
- 동시에 가동하는 CPU나 메모리도 증가하기 때문에 성능 향상도 기대 가능
- 다만 저장소가 병목이 되기 때문에 다이나믹한 성능 향상은 어려울 수도 있다.
- Active-Active를 지원 하는 데이터 DBMS가 한정적이다.
Active-Standby 구성의 단점
- (보통) Standby 상태의 DB 서버는 사용되지 않다가 Active DB 서버에서 장애가 일어날 때만 사용됩니다. (Cold / Hot 상태에 따라 다름)
Active-Standby 구성의 종류
- Cold-Standby : 평소에는 Standby DB가 작동하지 않다가 Active DB가 다운된 시점에 작동하는 구성
- Hot-Standby : 평소에도 Standby DB가 작동하는 구성이다.
- Cold 보다 Hot 의 라이센스 비용이 더 높다.
DB 서버의 다중화 - 리플리케이션
리플리케이션이란?
- 앞에서 설명한 Active-Active / Active-Standby 같은 경우 서버 영역은 다중화가 가능하지만 저장소 부분은 다중화할 수 없음
- Active-Active / Active-Standby 의 경우 데이터를 다중화 하는것은 아님, 그렇기 때문에 저장소에 문제가 생길 경우 데이터를 잃게 됨
- DB 서버와 저장소 세트를 복수로 준비하는 것이 리플리케이션
- 물리적인 데이터센터 손상에도 버티는 가용성이 높은 아키텍처
- Master - Slave 형태도 리플리케이션의 한 종류
리플리케이션에서 주의할 점
- Active 측 저장소의 데이터는 사용자로 부터 갱신
- 그렇기 때문에 Standby 측 데이터 정합성 유지가 힘듬
- 동기화 주기 설정에 따라 성능 차이가 남
- 참조용으로만 Standby 측 데이터를 사용할수도 있음 → 세트를 구성하는 리소스가 많이 들어감
성능을 추구하기 위한 다중화 - Shared Noting
Shared Disk 와 Shared Noting
Shared Disk
- 앞에서 말한 Active-Active / Active-Standby 의 경우 복수의 서버가 1대의 저장소(디스크)를 공유하도록 구성되었기 때문에 일어나는 문제
- 복수의 서버가 1대의 저장소를 공유하는 구성을 'Shared Disk'라고 부름
- DB 서버를 무한정 늘려도 무한으로 처리율이 향상되지 않고 병목이 생김
Shared Noting
Shared Disk 의 문제점을 극복하기 위해 등장한 것이 'Shared Noting' 구성
네트워크 이외의 자원을 모두 분리하는 방식
서버와 저장소 세트를 늘리면 횡으로 늘어나는 형태이기 때문에 선형적으로 성능이 향상되는 장점이 있음
단점
각각의 DB 서버는 자신이 포함된 세트의 저장소만 참조가 가능하다
특정 데이터를 구성하는 세트에 문제가 발생할 경우 해당 데이터는 참조 못하는 경우도 발생
구성하기 복잡한 구조
적합한 아키텍처를 설계하기 위해
아키텍처의 정리
아키텍처 선택은 시스템이 충족해야 하는 요건에 따라 결정
요건 수준에 따라 아키텍처를 변경해야함
데이터베이스 첫걸음(한빛미디어, 미크, 기무라 메이저 공저) 그림 4-15
아키텍처는 변경이 어렵다.
- 아키텍처는 한번 결정해서 구축을 시작하면 이후 변경하는 것이 어렵다.
비용과 시간 그리고 인적자원
물리적 변경을 수반하는 작업에는 비요과 시간이 듬
여러 개발 방법론이 있다고 해도 아키텍처를 변경하는것은 큰 부담
고기능의 아키텍처는 곧 비용으로 이어짐
참고 서적 :
반응형
'IT > 데이터베이스' 카테고리의 다른 글
백업과 복구 (0) | 2021.01.09 |
---|---|
트랜잭션과 동시성 제어 (0) | 2021.01.08 |
H2 Database not found (2) | 2019.12.03 |
ORACLE 전체 테이블 검색 (0) | 2019.04.15 |
sqldeveloper 자동정렬 (0) | 2017.06.15 |