티스토리 뷰
클러스터링이란?
여러 대의 독립적인 DB서버를 하나의 논리적인 그룹으로 결합하고 하나의 데이터베이스를 여러 대의 서버가 나눠서 관리하도록 하는 것이다. 이렇게 하나의 데이터베이스를 여러개의 서버로 구축되는 경우를 클러스터라고 한다.
클러스터링의 장점
1. 장애복구를 통한 고 가용성
클러스터링은 데이터베이스 서버의 장애를 감지하고 장애 발생 시 자동으로 다른 노드로 작업을 이전시켜 시스템의 가용성을 유지한다.
2. 확장성
클러스터링은 데이터베이스의 처리량 및 성능을 향상시킬 수 있다. 여러 대의 서버를 클러스터로 구성하여 작업을 분산하고 병렬 처리를 가능하게 한다.
3. 로드 밸런싱을 통한 트래픽 분산
로드 밸런싱을 통해 여러 데이터베이스 서버에 작업을 고륵게 분산하여 작업 부하를 줄일 수 있다.
종류
Active-Active
하나의 그룹으로 묶어놓은 DB서버를 모두 Active(동작) 상태로 두는 방식이다.
서버 하나가 죽어도 다른 서버가 그대로 서비스를 이어나갈 수 있기 떄문에 장애에 안정적이다. 또한 분산처리가 가능하기에 성능향상을 기대할 수 있다.
하지만 여러대의 서버가 하나의 스토리지를 관리하기에 병목현상이 발생하여 성능이 떨어지는 경우가 발생할 수도 있다.
(Oracle과 DB2만 가능하다고 한다)
Active-StandBy(Active-Passive)
클러스터의 일부 데이터베이스 서버는 StandBy(대기)상태로 두는 방식이다. 평소에는 active 서버만 동작하고 standby 서버는 active 서버가 잘 동작하는지 모니터링한다. 만약 active 서버가 동작을 멈췄음이 확인된다면 active 상태로 변경하여 동작을 이어간다.(fail over)
active-active 방식보다는 비용 측면에서는 낫지만 standby에서 active 상태로 변경될 때까지의 시간에는 서비스가 동작할 수 없으므로 가용성이 떨어진다는 단점이 있다.
Active-Standby도 Hot-Standby와 Cold-Standby로 나눌 수 있다.
이 둘은 standby 서버의 상태와 준비 여부에 따라 구분되는 개념이다.
Hot-Standby
Standby 서버가 항상 Active 서버와 동일한 작업을 수행하고 있으며, 실시간으로 업데이트되는 상태를 유지하는 방식
Cold-Standby
Standby 서버가 Active 서버와 동기화되지 않은 상태로 비활성화된 상태를 유지하는 방식
'데이터베이스' 카테고리의 다른 글
[DB]데이터베이스 Lock 그리고 Lock정보 설정 및 확인하기(H2 DB기준) (0) | 2023.10.12 |
---|---|
[DB]데이터베이스 파티셔닝(Partitioning)이란?? (0) | 2023.05.14 |
@JoinColumn 실수... (0) | 2022.11.10 |
- Total
- Today
- Yesterday
- 백준#서강근육맨#20300
- 게시판#자바#JPA#Entity
- Spring
- list
- controller
- this()
- 서블릿#Servlet
- 오류
- 백준
- java
- 1316번
- springboot
- 덧칠하기
- HTTP#HTTP특징
- 스프링
- querydsl
- 대충 만든 자판
- 7568
- 11659
- 자바
- 1978
- 파이썬
- MVC
- 백엔드#게시판
- 회고
- 백준#잃어버린 괄호#1541
- 프로그래머스
- 사탕 게임#백준#3085
- 4673번
- arraylist
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |