Welcome! Everything is fine.

[CS 발표_14] DB 클러스터링과 리플리케이션 본문

CS 스터디/발표

[CS 발표_14] DB 클러스터링과 리플리케이션

개발곰발 2024. 7. 9.
728x90
클러스터링과 리플리케이션의 차이에 대해 설명해보세요.

 

클러스터링(Clustering)이란?

클러스터링이란 여러 개의 서버를 수평적인 구조로 구축하는 방식이다.

장점

서버에 장애가 발생하거나 유지보수를 할 때 다른 서버가 동작하고 있어서 큰 문제가 발생하지 않는다.

하나의 서버에 몰리던 부하를 여러 곳으로 분산시킬 수 있다.

데이터베이스 간의 데이터를 동기화하여 항상 일관성있는 데이터를 얻을 수 있다.

단점

서버를 동시에 운영해야하기 떄문에 비용이 많이 든다.

여러 개의 서버가 하나의 스토리지를 공유하여 병목현상이 발생할 수 있다.

리플리케이션(Replication)이란?

리플리케이션이란 여러 개의 DB를 권한에 따라 수직적인 구조로 구축하는 방식이다. 원본 데이터베이스를 Master, 복제된 데이터베이스를 Slave라고 부른다. 

장점

각각의 데이터베이스마다 수행하는 작업을 나누면 부하를 줄일 수 있다.

Master 데이터베이스가 손상되어도 Slave 데이터베이스에 동일한 데이터가 있기 때문에 데이터 안정성을 획득할 수 있다.

단점

Slave 데이터베이스는 비동기 방식으로 Master 데이터베이스와 동기화를 하기 때문에 데이터 일관성에 문제가 생길 수 있다.

동기 방식으로 리플리케이션하면 속도가 느려질 수 있다.

Master가 다운되면 복구하기 복잡하다.