1. 자세한 내용은 다음을 참고하세요. MySQL 클러스터링 소개(ndb-cluster Stogare)
:
MySQL은 스토리지 엔진 형태로 신뢰성이 높은 솔루션을 제공하며, 트랜잭션에 안전하고 실시간으로 데이터를 복제하므로 높은 신뢰성과 부하가 필요한 상황에서 사용할 수 있습니다. 균형을 잡는 것. 이 솔루션을 사용하면 좋은 결과를 얻으려면 3개 이상의 노드 서버가 필요합니다.
비용:
노드 서버에는 데이터베이스 크기에 선형적으로 비례하는 상당한 RAM 요구 사항이 있으며,
기가비트 이더넷 네트워크를 사용하는 것이 가장 좋습니다
.또한 Dolphin의 값비싼 SCI 카드를 사용해야 합니다.
장점:
로드 밸런싱 상황에서 사용할 수 있으며,
높은
확장성,
유지 관리가
용이합니다.
단점:
데이터베이스가 커질수록 RAM 요구 사항도 커지므로 비용이 많이 듭니다.
속도:
일반적인 독립형 서버에 비해 거의 10배 느립니다(기가비트 이더넷 없음, SCI 카드 없음, 스토리지 엔진 관련 제한 없음).
애플리케이션 시나리오:
중복성, 높은 신뢰성, 로드 밸런싱
2. MySQL / GFS-GNBD/ HA(액티브/패시브)
소개:
여러 MySQL 서버가 공유 하드 디스크를 데이터 스토리지로 사용하는 경우 이 솔루션은 어떻습니까?
GFS/GNBD는 필요한 공유 하드 드라이브를 제공할 수 있습니다.
GFS는 트랜잭션에 안전한 파일 시스템입니다. 동시에 MySQL이 공유 데이터를 사용하도록 할 수도 있습니다.
비용:
최대 n개의 고성능 서버 비용. 그중 하나는 활성화되고 다른 하나는 백업 서버로 사용됩니다.
장점:
높은 안정성
어느 정도의 중복성
높은 안정성으로 확장
단점:
로드 밸런싱 없음
중복성이 보장되지 않음
쓰기 작업을
독립 실행형 서버속도
의2배로
확장할 수 없습니다.읽기 작업에 대한 지원이 향상되었습니다.
애플리케이션 시나리오에는
높은 신뢰성과 읽기 집약적인 애플리케이션이 필요합니다
. 3. MySQL / DRBD / HA(Active/Passive) 소개
:
여러 MySQL 서버가 공유 하드 디스크를 데이터 저장소로 사용하는 경우 이 솔루션은 어떻습니까?
DRBD는 이러한 공유 하드 드라이브를 제공할 수 있습니다. DRBD는 트랜잭션에 안전하도록 구성될 수 있습니다.
동시에 MySQL이 공유 데이터를 사용하도록 할 수도 있습니다.
비용:
최대 n개의 고성능 서버 비용. 그 중 하나는 활성이고 다른 하나는 백업 서버로 사용됩니다.
장점:
높은 신뢰성,
높은 신뢰성이라는 이름으로
어느 정도
확장 가능.단점:
로드 밸런싱 없음,
이중화 보장 없음,
쓰기 로드 측면에서 확장성 없음,
속도:
읽기 및 쓰기 측면에서 단일 서버와 동일,
높은 신뢰성이 필요한애플리케이션
및 읽기 작업 집약적 애플리케이션
4. MySQL Write Master / Multiple MySQL Read 슬레이브(활성/활성)
소개:
DB 데이터베이스 연결을 읽고 쓰는 다양한 상황을 고려하십시오. 쓰기 작업에는 하나의 마스터 서버를 사용하고 읽기 작업에는 n개의 슬레이브 서버를 사용할 수 있습니다.
비용:
최대 1개의 고성능 쓰기 서버,
n개 읽기 서버의 비용 이점:
읽기작업의 로드 밸런싱에
대한 높은 신뢰성,
읽기 작업의 로드 밸런싱 측면에서 확장 가능.
단점:
쓰기 작업 없이 높은 안정성,
쓰기 작업 시확장성
없음
,
읽기 작업에서 더 나은 지원
애플리케이션 시나리오는
읽기 집약적이며 높은 안정성과 로드 밸런싱 애플리케이션이 필요합니다.
5. 독립형 MySQL 서버(기능적으로 분리됨) (활성)
분리된 기능을 가진 여러 개의 독립적인 서버입니다. 높은 신뢰성과 로드 밸런싱 기능이 없으므로 명백한 단점이 있으므로 고려하지 않습니다.
요약:
MySQL 공식 홈페이지에서 추천하는 HA 솔루션은 DRBD(이 글의 스킴 3)와 복제(이 글의 스킴 4)를 조합한 것입니다. Linux Heartbeat가 자동 장애 조치(Auto-failover) 기능도 구현할 수 있다면 이 경우 가동 중지 시간이 크게 줄어드는 것을 확인할 수 있습니다.