반응형
먼저 클러스터링에 대한 정의 먼저 알고 이해해야할 것 같다.
2023.07.18 - [CS 지식] - 클러스터링이란?
클러스터링이란?
각기 다른 서버들을 하나로 묶어서 하나의 시스템같이 동작하게 함으로써 클라이언트들에게 고가용성의 서비스를 제공하는 것
그렇다면 DB 클러스터링이란 무엇이고 어떤 기능을 하는가?
정의
데이터베이스 구축의 경우 1개의 서버로 하나의 데이터베이스를 구축해서 사용하는 편이다. 허나 1개의 서버로만 데이터베이스를 사용하게 되면 부하나 장애로 인해 서비스가 죽는 현상이 발생하게 된다. 이러한 이유로 가용성을 보장하기 위해 여러 서버를 구축 후 하나의 데이터베이스로 사용하는 경우를 DB 클러스터링이라고 한다.
데이터베이스 시스템의 성능과 안정성을 향상시키기 위해 시스템의 워크로드를 분산해 여러 서버 또는 노드를 사용하게된다.
장점
- 고가용성 :
- 데이터베이스의 가용성이란 DB가 동작하고 있는 시간과 정지한 시간의 비율이다.
- 한쪽에 장애가 발생하더라도 동일한 데이터를 가진 복제 데이터베이스로 빠른 시간 내 서비스를 제공해주는 것이다.
- 병렬처리 :
- 테이블에 데이터도 많고 컬럼이 많아 SQL 문이 복잡할 경우 쿼리 문을 실행하는 데 시간이 많이 소요된다.
- 데이터베이스를 여러 개의 단위 별로 병렬처리해서 결과를 통합 해 전달 해준다면 빠른 결과를 얻을 수 있다.
- 복제된 데이터베이스는 항상 원본 데이터베이스와 같은 데이터를 가지고 있기 때문에 DML을 분산시키면 전체적인 성능향상을 기대할 수 있다.
- 로드 밸런싱 :
- 여러 데이터베이스 서버로 부하를 분산 시켜서 사용자의 요청을 더 많이 수용할 수 있다.
- 확장성 :
- 필요에 따라 추가 노드를 추가 해 데이터베이스 시스템의 확장성을 향상시킬 수 있다. 조직의 필요에 따라 데이터베이스 시스템을 쉽게 확장할 수 있음을 의미한다.
내 생각
DB 클러스터링도 기존의 클러스터링과 같이 가용성과 안정성을 위해 사용하는 것 같다.
동일한 데이터가 여러 DB에 분산 되어서 데이터베이스 가용성과 안정성을 높이고, 여러 데이터베이스로 부하를 분산 시켜서 사용성을 늘리기도 한듯. 대체로 일반 서버 클러스터링과 비슷해보임
이기종 간의 DB 클러스터링도 가능한지 나중에 찾아봐야겠다.
[참조] :
반응형
'CS 지식' 카테고리의 다른 글
비동기와 동기란? (0) | 2023.07.25 |
---|---|
트레이싱(Tracing)이란? (0) | 2023.07.19 |
클러스터링이란? (0) | 2023.07.18 |
SSL Offloading이란? (0) | 2023.07.13 |
Parsing이란? (0) | 2023.07.11 |