클러스터링 vs 리플리케이션(Clustering vs Replication)

Lys·2023년 12월 4일
0

데이터베이스

목록 보기
16/18

클러스터링(Clustering)

  • 무리를 이룬다는 뜻으로, 서로 유사한 속성을 갖는 데이터를 같은 군집으로 묶어 주는 작업을 의미한다.
  • 동일한 데이터베이스를 여러 대의 서버가 관리하도록 클러스터를 구축하는 것으로 수평적 구조로 구축한다.
  • Active-Active 방식과 Active-StandBy 방식이 있다.
  • 분산 환경을 구성하여 single point of failure(단일 장애점,SPOF)과 같은 Fail over 시스템을 구축하기 위해서 사용하며 동기방식이다.

  • single point of failure(단일 장애점,SPOF)
    : 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단 되는 요소를 말하며, 장애 회복성을 위해 SPOF는 없어야 한다.
  • Fail over
    : 실 운용환경(컴퓨터 서버,시스템,네트워크) 등에서 이상이 생겼을 때 대체 작동 또는 장애극복을 위해 예비 운용환경으로 전환되는 기능을 말한다.

Active-Active

  • 모든 DB서버가 Active 상태면 하나의 서버에 이상이 생기더라도 바로 다른 서버를 이용해 정상적인 서비스 운영이 가능하다.
  • 다른 서버가 동작하는 동안 복구를 하여 서비스 중단이 나타나지 않는다.
  • 하나의 데이터 베이스에 몰리던 서버 부하를 여러곳으로 분산 시킬 수 있어 CPU,Memory 부하도 줄어들고 로드밸런싱이 가능해진다.
  • 여러개의 서버가 하나의 스토리지를 공유하기 때문에 병목현상이 발생한다.
    • 병목현상
      : 시스템의 CPU나 Memory, 디스크 등의 자원 중 하나가 다른 자원들에 비해 처리 속도가 느려서 전체적인 성능을 제한 하는 경우를 말한다.

Active-StandBy

  • Active 상태인 서버와 StandBy 상태인 서버를 나누어 운영한다.
  • StandBy상태의 서버는 준비상태로 대기하다가 Active 서버에 문제가 발생했을 경우 Active 상태로 전환되어 사용된다.
    (병목현상을 해결 할 수 있다.)
  • Fail Over가 발생하는 시간 동안에는 서비스가 중단된다.
  • 사실상 한 대만 운영 하기 때문에 비용은 저렴하다.

리플리케이션(Replication)

  • 복제본 데이터를 운용하는 것으로 원본데이터Master 복제 된 데이터를 Slave라고 부르며 둘은 서로 동일한 데이터를 가지게 된다.
  • 수직적인 구조로 구축하며 데이터베이스 서버를 확장한 클러스터링과는 다르게 서버와 스토리지를 모두 확장한다.
  • Insert,Update,Delete 등의 Master 데이터 베이스에서 처리하고 Select 등의 조회 작업은 Slave 데이터베이스에서 처리하도록 하여 기존에 많던 부하를 분산 시킬 수 있다.
  • Master 데이터베이스의 데이터가 손상 되었어도 Slave 데이터베이스에 복제된 데이터를 통해 복구할 수 있어 데이터 안전성을 획득할 수 있다.
  • 비동기 방식이기 때문에 두 데이터간의 동기화가 보장 되지 않아 일관성에 문제가 생길 수 있다.
  • Master 데이터베이스가 정상 작동하지 않는다면 복구 및 대처가 까다롭다는 단점이 있다.

🙇‍ 참고 사이트 🙇‍

https://code-lab1.tistory.com/205
https://eunsun-zizone-zzang.tistory.com/50

0개의 댓글

관련 채용 정보