🔑 핵심 요약
- 복제(Replication): 데이터베이스의 동일 데이터를 여러 서버에 복사하여 가용성 및 성능을 향상시키는 기법.
- 클러스터링(Clustering): 여러 서버가 하나의 논리적인 서버처럼 동작하도록 구성하여 가용성 및 확장성을 개선하는 기법.
- 마스터-슬레이브 복제: 한 서버에서 데이터를 수정하면, 복제된 서버(슬레이브)로 데이터를 복사하는 구조.
- 마스터-마스터 복제: 두 개 이상의 서버가 서로 데이터를 복제하는 구조.
- MySQL Cluster: 고가용성, 분산 처리 시스템을 제공하는 MySQL 클러스터링 기술.
🔹 1. MySQL 복제(Replication)
1.1 복제란?
- 정의: 하나의 MySQL 서버에서 데이터를 변경하면, 그 변경 내용이 자동으로 다른 서버로 복제되는 시스템.
- 목적: 데이터 가용성 증가, 로드 분산, 백업 및 장애 복구.
1.2 복제의 종류
- 마스터-슬레이브 복제 (Master-Slave Replication):
- 설명: 마스터 서버에서 발생한 모든 변화가 슬레이브 서버에 복제됨.
- 장점: 읽기 성능 향상, 장애 대비.
- 단점: 쓰기 성능이 마스터 서버에 집중됨.
- 마스터-마스터 복제 (Master-Master Replication):
- 설명: 두 개 이상의 서버가 서로 데이터를 복제하는 구조. 각 서버가 마스터 역할을 함.
- 장점: 두 서버 모두 읽기/쓰기가 가능.
- 단점: 충돌 해결 및 데이터 일관성 유지가 어려울 수 있음.
- 다중 슬레이브 복제:
- 설명: 하나의 마스터 서버에서 다수의 슬레이브 서버로 복제.
- 장점: 부하 분산, 고가용성.
1.3 복제 구성 요소
- 마스터 서버(Master): 데이터를 수정하는 주 서버.
- 슬레이브 서버(Slave): 마스터 서버의 데이터를 복제하는 서버.