마스터 / 슬레이브 복제 대신 Galera Cluster를 사용하는 데 따른 단점은 무엇입니까?


13

일반 마스터 / 슬레이브 복제 대신 Galera Cluster를 사용하는 데 따른 단점은 무엇입니까? Galera의 0 슬레이브 지연 시간, 동기식 복제 및 단일 장애 지점 없음 매우 매력적인 것 같습니다. 왜 Galera 클러스터가 일반적이지 않습니까?

답변:


16

다른 최적화와 마찬가지로 모든 워크로드에 적합한 것은 아닙니다.

Galera는 높은 트랜잭션 속도로 인해 또는 트랜잭션이 많은 행을 업데이트 할 때 압도 될 수 있습니다. 또한 클러스터가 동기화 될 때 응용 프로그램이 COMMIT에서 지연 될 수 있습니다.

Galera는 다른 노드도 동기식으로 업데이트하지 않습니다. 작업 세트를 동기식으로 만 전송합니다. 이런 방식으로 세미 동기 모드의 표준 복제와 비슷합니다. 따라서 다른 클러스터 노드에서 오래된 데이터를 읽을 가능성은 여전히 ​​적습니다. 작업 세트 큐가 데이터베이스를 업데이트 할 때까지 SELECT가 대기하도록 강제 설정할 수있는 옵션이 있지만 이는 SELECT에 지연이 있음을 의미합니다. 그리고 SELECT에 대한 교착 상태가 발생할 가능성도 있습니다.

Galera는 훌륭하지만 단일 기술에 적합하지는 않습니다. 비동기 복제를 사용해야하는 이유는 여전히 있습니다.


고마워 빌, btw 나는 당신의 Percona 발표를 잠시 동안 읽고 있었다.
Sam

3
또 다른 단점은 기증자 노드 자체를 끄고 xtrabackup, rsync, mysqldump를 통해 클러스터에 도입 된 모든 노드에 복사하여 새 노드가 동기화 될 때까지 클러스터의 나머지 노드에서 많은 양의 작업을 수행하는 데 사용됩니다. 중소 규모의 DB에 대한 단점은 아닙니다.
RolandoMySQLDBA

1
xtrabackup과 같은 @RolandoMySQLDBA SST 메소드는 정확하게 공여자 잠금을 피합니다. 어쨌든, 데이터베이스가 크면 기증자가 성능을 저하시킬 수 있습니다.
jynus

3
@jynus, 문제는 기증자 노드에서 잠기지 않지만 SST가 진행되는 동안 수신 노드가 오프라인 상태이며 모든 쿼리에 사용할 수 없습니다. 따라서 쿼리로드 균형 조정에 클러스터를 사용하는 경우 SST가 완료 될 때까지 수신 노드로 이동 한 쿼리를 다른 노드로 보내야합니다.
Bill Karwin

2
다른 사람이보고있는 경우 Bill이 참조하는 옵션은 wsrep_causal_readsON으로 설정되어 SET GLOBAL wsrep_causal_reads = 'ON';모든 쓰기 세트가 완료 될 때까지 대기하도록 선택합니다.
Luke Cousins

2

Galera의 몇 가지 단점은 다음과 같습니다.

  • 스토리지 엔진 지원 : InnoDB / XtraDB로 제한 (MyISAM에 대한 실험 지원 포함)
  • OS 지원 : Linux / Unix 계열 OS 만

주목해야 할 몇 가지 제한 사항이 있지만 해결 방법은 다음과 같습니다.

  • 기본적으로 (Total Order Isolation) DDL 작업은 완료 될 때까지 전체 클러스터를 차단합니다.
  • 모든 테이블에는 명시 적 기본 키 (단일 또는 다중 열)가 있어야합니다.
  • 잠금 : 일부 유형의 명시 적 잠금은 지원되지 않습니다.

자세한 내용은 Codership ( 여기서는 DDL 차단), MariaDBPercona 에서 자세한 내용을 참조하십시오 .

편집 : 또한 일부는 Galera와 같이 밀접하게 연결된 데이터베이스 클러스터에는 네트워크 계층의 본질적인 불안정성으로 인한 문제로 인해 지리적으로 분산 된 노드가 없어야한다고 주장합니다. 대신이 경우 비동기 솔루션을 사용해야합니다. MySQL 고 가용성 수행 방법 : Galera 기반 복제 오용을 사용한 지리적 노드 배포를 참조하십시오 . 그럼에도 불구하고 Galera 블로그는 다음과 같이 말합니다 (2015).

지리적으로 분산 된 데이터베이스 클러스터를 구축하는 경우는 강력합니다. 복제에 대한 Galera의 접근 방식과 제품의 특정 기능을 통해 여러 데이터 센터에 걸쳐있는 Galera 클러스터를 구축 할 수 있으며 여러 사용자가 이미 프로덕션 환경에 클러스터를 보유하고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.