답변:
다른 최적화와 마찬가지로 모든 워크로드에 적합한 것은 아닙니다.
Galera는 높은 트랜잭션 속도로 인해 또는 트랜잭션이 많은 행을 업데이트 할 때 압도 될 수 있습니다. 또한 클러스터가 동기화 될 때 응용 프로그램이 COMMIT에서 지연 될 수 있습니다.
Galera는 다른 노드도 동기식으로 업데이트하지 않습니다. 작업 세트를 동기식으로 만 전송합니다. 이런 방식으로 세미 동기 모드의 표준 복제와 비슷합니다. 따라서 다른 클러스터 노드에서 오래된 데이터를 읽을 가능성은 여전히 적습니다. 작업 세트 큐가 데이터베이스를 업데이트 할 때까지 SELECT가 대기하도록 강제 설정할 수있는 옵션이 있지만 이는 SELECT에 지연이 있음을 의미합니다. 그리고 SELECT에 대한 교착 상태가 발생할 가능성도 있습니다.
Galera는 훌륭하지만 단일 기술에 적합하지는 않습니다. 비동기 복제를 사용해야하는 이유는 여전히 있습니다.
wsrep_causal_reads
ON으로 설정되어 SET GLOBAL wsrep_causal_reads = 'ON';
모든 쓰기 세트가 완료 될 때까지 대기하도록 선택합니다.
Galera의 몇 가지 단점은 다음과 같습니다.
주목해야 할 몇 가지 제한 사항이 있지만 해결 방법은 다음과 같습니다.
자세한 내용은 Codership ( 여기서는 DDL 차단), MariaDB 및 Percona 에서 자세한 내용을 참조하십시오 .
편집 : 또한 일부는 Galera와 같이 밀접하게 연결된 데이터베이스 클러스터에는 네트워크 계층의 본질적인 불안정성으로 인한 문제로 인해 지리적으로 분산 된 노드가 없어야한다고 주장합니다. 대신이 경우 비동기 솔루션을 사용해야합니다. MySQL 고 가용성 수행 방법 : Galera 기반 복제 오용을 사용한 지리적 노드 배포를 참조하십시오 . 그럼에도 불구하고 Galera 블로그는 다음과 같이 말합니다 (2015).
지리적으로 분산 된 데이터베이스 클러스터를 구축하는 경우는 강력합니다. 복제에 대한 Galera의 접근 방식과 제품의 특정 기능을 통해 여러 데이터 센터에 걸쳐있는 Galera 클러스터를 구축 할 수 있으며 여러 사용자가 이미 프로덕션 환경에 클러스터를 보유하고 있습니다.