공부방
DB 클러스터링 본문
Clustering?
- Clustering이란 영문 그대로의 번역 "군집화"와 같이 '유사한 성격을 가진 개체를 묶어 그룹으로 구성하는 것'으로 AI 머신러닝에서 많이 사용되는 용어
- 이와 달리 DB Clustering은 단일 데이터베이스를 연결하는 둘 이상의 서버 또는 인스턴스를 결합하는 프로세스이다.
DB Clustering 왜 필요?
- DB와 DB 서버가 각각 단일일 경우, 만약 DB 서버가 예기치 않게 다운 된다면, 해당 DB와 연결된 서비스 자체가 제역할을 할 수 없게 된다. 이러한 일련의 사태에 대한 대비책으로 사용되는게 DB Clustering이다.
- DB 서버를 만약 2대를 사용하고 있다면, 한 대가 다운되더라도 나머지 한 대가 유지되어 정상적으로 동작할 수 있고, 한 대로 동작하는 동안 문제점을 찾아 해결해 다시 복구할 수 있다.
DB Clustering 어떻게 속도개선에 영향을 주는가?
- DB 클러스터링 자체가 속도를 개선한다고 본다기 보다는, 여러 대의 DB 서버로 클러스터링 했기 때문에 이를 이용해서 부하를 여러대로 분산시키는 로드밸런싱을 통한 속도 개선으로 더 많은 사용자의 요청에 대한 수용능력의 증가로 DB 속도 개선에 영향을 준다고 생각할 수 있다.
Active - Active Clustering
- DB 서버를 여러 개 구성하는 데 각 서버를 Active (동작중) 상태로 두는 방식
- 장점
- 서버 하나가 죽어도 다른 서버가 역할을 바로 수행하여 중단되는 시간이 없다.
- 같이 사용되어 CPU와 메모리 이용률을 늘릴 수 있다.
- 단점
- 저장소 하나를 공유하면 병목현상이 발생될 수 있다.
병목현상 : 전체 시스템이 성능이나 용량이 하나의 구성요소로 인해 제한을 받는 현상 - 두 대의 서버를 동시에 운용해야하기 때문에 비용이 많이 든다.
- 저장소 하나를 공유하면 병목현상이 발생될 수 있다.
Active - StandBy Clustering
- 서버 하나는 Active(동작중)으로 운영하고, 나머지 서버는 Standby 상태로 두는 방식.
- 운영 중인 서버가 정지되었을 경우에 Standby 중인 다음 서버를 Active 상태로 전환하는 방식으로 구성
- 장점
- Active - Active 클러스터링에 비해 적은 비용이 든다.
- 단점
- 서버가 다운되었을 경우 다른 서버가 Active로 전환되는데 시간이 들어서 서버가 중단되는 시간이 존재한다.
'백엔드 > DB' 카테고리의 다른 글
DB 인덱스의 동작 원리와 성능 개선 (0) | 2025.03.25 |
---|---|
트랜잭션과 ACID 원칙 (0) | 2025.03.25 |
데이터 이중화 (0) | 2025.03.19 |
분산 데이터베이스(Distributed Database) (0) | 2025.03.19 |
Tibero (0) | 2025.03.19 |