Sự khác biệt giữa MySQL Fabric và MySQL Cluster


9

Tôi mới đến thế giới MySQL và bị hai người nhầm lẫn. Không phải cả hai đều cung cấp sẵn sàng cao và shending?

Ngoài ra, WebScaleSQL so sánh như thế nào?

Câu trả lời:


20

3 điều này không có gì để làm với nhau. Tôi sẽ giới thiệu cho bạn và bạn có thể tìm kiếm hoặc yêu cầu cụ thể hơn một cách riêng biệt:

MySQL Cluster là tên tiếp thị của cái mà nhiều người trong chúng ta gọi - để tránh những nhầm lẫn như cái mà bạn hiện đang mắc phải - "Cụm NDB" hoặc "Cụm NDB của MySQL". Đây là kho lưu trữ khóa-giá trị chủ yếu chỉ có bộ nhớ cho phép kiến ​​trúc không chia sẻ cho MySQL (cung cấp phụ trợ cho Công cụ NDB). Nó cung cấp shending tự động (vì vậy, thông lượng đọc và viết tốt hơn) và tính sẵn sàng cao. Nó hoạt động tốt đối với các hệ thống dữ liệu nhỏ có giá trị khóa thông lượng cao, nhưng việc thiết lập tương đối phức tạp (dẫn đến sự cố nếu nó không được cấu hình đúng hoặc được sử dụng theo cách không mong muốn) và đó không phải là độ trễ tốt nhất- khôn ngoan (tốc độ thô). Đây là phiên bản đơn giản hóa (nó có thể được sử dụng cho nhiều thứ hơn chỉ bộ nhớ và khóa-giá trị, nhưng nó được thiết kế xung quanh nó). Theo tôi, một phần kỹ thuật rất tốt, nhưng nó có các trường hợp sử dụng hạn chế, vì nó là một sản phẩm khác với máy chủ MySQL thông thường với các tải xuống riêng biệt (và yêu cầu sử dụng một công cụ cụ thể).

MySQL Fabric là một bộ công cụ / phần mềm trung gian được viết bằng python cho phép quản lý một bộ máy chủ MySQL thông thường trong môi trường GTID được sao chép . Nó không phải là một cụm mỗi se, nhưng nó tạo điều kiện cho việc quản lý một. Nó có các liên kết đến (hiện tại) các trình kết nối Java và Python, do đó, nó có thể tự động xử lý việc bảo vệ và tính sẵn sàng cao của máy chủ, nhưng nó là một lớp trên đầu máy chủ MySQL thông thường và sao chép thông thường (có thể sử dụng các công cụ lưu trữ thông thường như InnoDB) . Sao chép, cho đến nay là không đồng bộ (hoặc bán đồng bộ), do đó nó có thể không cung cấp cho chính nó tính nhất quán và bảo mật tốt nhất; điều này có thể thay đổi trong các phiên bản 5.7 trong tương lai. Tuy nhiên, cách tiếp cận này có ít chi phí hơn về độ trễ và sử dụng công nghệ sao chép quen thuộc hơn của MySQL DBA. MySQL Fabric là một đứa trẻ tương đối mới trong khu phố, vì vậy chưa được mở rộng, nhưng dường như đó là phản ứng của Oracle (cùng với sự sao chép đồng bộ được công bố) đối với các cụm dựa trên Galera của đối thủ cạnh tranh.

Nếu bạn cần shending và HA, bạn có thể sử dụng một trong 2 sản phẩm trước đây, nhưng có lẽ cho các kịch bản hoàn toàn khác nhau.

WebScaleQuery không phải là một giải pháp HA, giống như các giải pháp trước đây, nó chỉ là tên mà một số công ty đặt cho một ngã ba / phiên bản của MySQL nơi họ chia sẻ các bản vá cụ thể mà họ cần và có thể Oracle chưa áp dụng. Theo như tôi biết thì nó đã được tạo ra bởi Facebook, Twitter, LinkedIn và Google và họ đã phản đối các phiên bản MySQL của riêng họ trên cơ sở chung đó. Họ không cung cấp hỗ trợ hoặc phát hành nhị phân. Nếu bạn là người dùng cuối, có lẽ bạn không nên quan tâm đến việc sử dụng nó, nhưng bạn nên theo dõi dự án để xem những gì sẽ phát triển từ nó hoặc phản hồi từ các nhà cung cấp khác.

Nếu bạn đang cố gắng học / bắt đầu với MySQL HA / nhân rộng, hãy bắt đầu với sao chép MySQL cơ bản (nó có thể không phải là tốt nhất, nhưng đó là điều dễ nhất để bắt đầu), sau đó bạn có thể tiếp tục từ đó đến các giải pháp khác: DRBD [ sic], sao chép GTID, NDB, Galera, Vonfram.


Tại sao bạn đặt "[sic]" sau tên DRBD? Tôi đã nhìn họ và họ có vẻ khá ấn tượng từ quan điểm công nghệ.
Vérace

DRBD là một công nghệ cấp khối, có nghĩa là nó không biết gì về DB hoặc bộ đệm của nó. Đừng mong đợi một hiệu suất tuyệt vời cho các hệ thống OLTP; nó không thể hoạt động tích cực (ngay cả trong chế độ chỉ đọc), nếu MySQL gặp sự cố, bạn phải khôi phục vì nó đã bị sập cục bộ và nó không bảo vệ bạn khỏi hỏng cơ sở dữ liệu. Nó không phải là một công nghệ "không chia sẻ gì" thuần túy ở mức logic - nó giống với RAID phân tán hơn nên nó không phù hợp 100% với MySQL. Nó là tốt cho tải thấp ghi hoặc nếu bạn cần phân phối một số giao thức cùng một lúc. Nhân rộng bán đồng bộ dựa trên hàng là ưu việt khác.
jynus

@ Vérace ... Tóm lại, đó là sự phản đối trường hợp sử dụng (phân cụm MySQL), tôi không có gì chống lại công nghệ trong các trường hợp khác, nơi các giao thức cấp cao hơn có thể không khả dụng / nó có thể phù hợp hơn.
jynus

Tôi hiểu một cách hoàn hảo - quan điểm về bộ đệm được thực hiện tốt - DRBD, như bạn nói, không biết gì về phần bên trong của MySQL - tức là những thứ đã cam kết nhưng chưa được ghi vào đĩa sẽ bị mất trong trường hợp xảy ra sự cố.
Vérace 28/03/2016

2

MySQL Fabric được triển khai như một nút / quy trình của MySQL Fabric (thực hiện các chức năng quản lý) và các trình kết nối nhận biết Fabric có thể định tuyến các truy vấn và giao dịch trực tiếp đến Máy chủ MySQL thích hợp nhất. Nút MySQL Fabric lưu trữ thông tin trạng thái và định tuyến trong Kho lưu trữ trạng thái của nó (là cơ sở dữ liệu MySQL).

MySQL Cluster là một công nghệ cho phép phân cụm các cơ sở dữ liệu trong bộ nhớ trong một hệ thống không chia sẻ. Kiến trúc không chia sẻ cho phép hệ thống hoạt động với phần cứng rất rẻ và với tối thiểu các yêu cầu cụ thể đối với phần cứng hoặc phần mềm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.