Câu trả lời:
Bởi vì giống như bất kỳ tối ưu hóa nào khác, nó không phù hợp với mọi khối lượng công việc.
Galera có thể bị choáng ngợp bởi tỷ lệ giao dịch cao hoặc khi giao dịch cập nhật nhiều hàng. Nó cũng có thể làm cho ứng dụng của bạn gặp phải sự chậm trễ trên CAMIT khi cụm được đồng bộ hóa.
Galera cũng không cập nhật các nút khác một cách đồng bộ. Nó chỉ truyền các máy tính đồng bộ. Theo cách này, nó giống như sao chép tiêu chuẩn ở chế độ bán đồng bộ. Do đó, vẫn có một cơ hội nhỏ để đọc dữ liệu cũ từ một nút cụm khác. Có một tùy chọn bạn có thể đặt để buộc CHỌN đợi cho đến khi hàng đợi các bộ công cụ đã cập nhật cơ sở dữ liệu, nhưng điều này có nghĩa là bạn có độ trễ trên SELECT. Và thậm chí có cơ hội gặp bế tắc trên CHỌN, có vẻ phản trực giác.
Galera là tuyệt vời, nhưng không phải là một công nghệ phù hợp với một kích thước. Vẫn còn những lý do chính đáng để sử dụng nhân rộng không đồng bộ.
wsrep_causal_reads
... được đặt thành BẬT SET GLOBAL wsrep_causal_reads = 'ON';
để nhận các lựa chọn để đợi cho đến khi tất cả các bộ ghi được thực hiện.
Một số nhược điểm của Galera bao gồm:
Cũng có một số hạn chế cần lưu ý, nhưng có lẽ có thể được giải quyết xung quanh:
Để biết thêm thông tin, hãy xem chi tiết tại Codership (và tại đây về việc chặn DDL), MariaDB và Percona .
EDIT: Cũng lưu ý rằng một số người lập luận rằng các cụm cơ sở dữ liệu được liên kết chặt chẽ, chẳng hạn như Galera, không nên có các nút phân phối địa lý do các vấn đề xuất phát từ sự không tin cậy vốn có của lớp mạng. Thay vào đó, các giải pháp không đồng bộ phải được sử dụng trong những trường hợp này. Xem: Cách không thực hiện tính sẵn sàng cao của MySQL: Phân phối nút địa lý với việc sử dụng sai bản sao dựa trên Galera . Tuy nhiên, blog Galera nói rằng (2015):
Trường hợp để xây dựng các cụm cơ sở dữ liệu phân tán địa lý là mạnh mẽ. Cách tiếp cận sao chép Galera và các tính năng cụ thể trong sản phẩm giúp cho việc xây dựng các cụm Galera trải rộng trên nhiều trung tâm dữ liệu và nhiều người dùng đã có các cụm như vậy đang được sản xuất.