일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 정보처리산업기사
- SQL
- kotlin
- 코딩봉사
- SW봉사
- 백준알고리즘
- programmers
- 백준
- C++
- 파이썬
- 소프티어
- 코틀린
- 1과목
- 회고
- softeer
- 문제풀이
- MYSQL
- 코딩교육봉사
- python
- 백준 알고리즘
- java
- 데이터베이스
- BFS
- CJ UNIT
- 알고리즘
- 자바
- 공부일지
- 시나공
- 스프링
- Today
- Total
JIE0025
DB 클러스터링, Active-Standby, Replication 본문
✅ DB 클러스터링이란?
> 단일 데이터베이스를 연결하는 둘이상의 서버/인스턴스를 결합하는 프로세스
아래를 보면 쿼리를 수행하는 서버가 있고, 실제 저장공간인 Database가 있다.
서버를 둘 이상으로 늘려서 단일 Database에 연결하는것이다.
✅ 클러스터링을 하는 이유
만약 DB 서버가 2대가 된다면 어떻게 될까?
많은 양의 쿼리문을 더 빠르게 응답할 수 있을것이다.
또한 한개의 서버가 이상이 생기더라도 다른 서버가 존재 하기 때문에 정상적인 서비스를 운영할 수 있다.
단점
위 그림을 보면 두 서버가 둘다 Active하다.
이는 두개 서버가 동시에 같은 자원에 접근하려고 할수 있다는 의미가 된다. (병목현상)
병목현상이 발생하면 더 많은 비용이 발생할 수 있다.
>> Active Active 방식은 모든 서버가 활성화 된 상태라 병목현상이 더 심해질 수 있다.
이때 이 단점을 완화시키는 방법이 Active - Standby 클러스터링 이다.
✅ Active Standby Clustering
서버를 2가지 상태로 나누어 운영하는 방식이다.
Active 서버와 Standby 상태로 나눈다.
Active 서버에 문제가 발생하면 Stanby를 Active로 전환해 사용한다.
단점
>> Stanby 서버는 평소에 대기 상태이기 때문에 하드웨어 자원이 낭비 된다.
>> 전환하는 시간(페일오버) 동안 서비스가 잠시 중단될 수 있다.
>> Active여러대를 사용하여 부하를 줄이는 효율이 줄어든다. (부하 분산 기능 저하)
DB서버 둘다 Active하게 두는 방법은 없을까?
>> DB를 복제하면 해결이 가능하다!
✅ Replication
복제본 Database를 운영하는 것
Master DB Slave DB 에 각기 다른 명령어를 수행하라고 할 수 있다.
위 그림 예시를 보면 Slave db에는 Select 명령만,
Master DB에는 INSERT UPDATE DELETE 명령만을 주는것을 확인 할 수있다.
이 경우 부하 분산이 되고, DB 서버는 둘다 Active상태로 둘 수 있다.
만약 마스터 DB가 손상된다면 복제된 Slave DB를 통해 복구가 가능하다.
단점
>> Master DB 와 Slave DB간의 동기화 이슈로 일관성에 문제가 발생할 수 있다.
>> MasterDB에 쓰기 부하가 집중된다.
>> Master가 정상 작동하지 않을때 복구/ 대처가 어려워진다.
https://code-lab1.com/%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81/
'개발 > Database' 카테고리의 다른 글
[MongoDB] _id를 제거할 수 있을까? (0) | 2023.06.04 |
---|---|
[MongoDB] Collection과 Document를 생성하고 실습해보자 (0) | 2023.05.28 |
[NoSQL] MongoDB란? 맥북(M1) 몽고디비, compass 설치 (0) | 2023.05.28 |
[DB] 인덱스의 자료구조 B-TREE, B+TREE (0) | 2023.04.30 |
[DB] SELECT문의 내부동작 기능 (Selection, Projection, Join) (0) | 2023.04.30 |