Multi-Node MySQL
Giới thiệu
Multi-node MySQL là giải pháp tiên tiến giúp nâng cao khả năng mở rộng và tăng cường hiệu suất cho các hệ thống cơ sở dữ liệu. Bằng cách phân tán dữ liệu và xử lý trên nhiều nút (node), Multi-node MySQL không chỉ giảm tải cho một máy chủ mà còn đảm bảo tính toàn vẹn và tính sẵn sàng cao hơn. Đây là một công nghệ quan trọng đối với các doanh nghiệp cần xử lý lượng lớn dữ liệu trong thời gian thực mà vẫn đảm bảo tính ổn định của hệ thống.
Về chi tiết các bạn có thể tham khảo tại trang chủ của MySQL & MariaDB :
https://dev.mysql.com/doc/mysql-cluster-excerpt/8.0/en/mysql-cluster-general-info.html
https://mariadb.com/kb/en/galera-cluster
Phần 1: Giới thiệu về Multi-node MySQL: Cách Hoạt Động và Ứng Dụng

MySQL:
- MySQL InnoDB Cluster cung cấp một giải pháp tăng tính sẵn sàng cao hoàn chỉnh cho MySQL.
- MySQL Shell bao gồm AdminAPI cho phép dễ dàng cấu hình và quản trị một nhóm với ít nhất ba máy chủ MySQL, hoạt động như một InnoDB Cluster.
- Mỗi máy chủ MySQL chạy MySQL Group Replication, cung cấp cơ chế sao chép dữ liệu trong InnoDB Cluster, với khả năng chuyển đổi dự phòng được tích hợp.
- Trong trường hợp xảy ra lỗi không mong muốn của một máy chủ, cluster sẽ tự động cấu hình lại.
- Trong chế độ single-primary mặc định, InnoDB cluster có một máy chủ đọc ghi – primary instance. Nhiều máy chủ thứ cấp secondary instance là bản sao của primary instance.
- Nếu lỗi xảy ra ở máy chủ chính primary instance, một máy phụ secondary instance sẽ tự động được chuyển đổi vai trò thành primary instance.
- MySQL Router tự động phát hiện điều này và chuyển tiếp các kết nối đến bản chính mới. Tính năng nâng cao cũng cho phép cấu hình một cluster có nhiều primary instance.
- MySQL Router có thể tự động chuyển đổi cấu hình dựa trên cluster đã triển khai, đảm bảo kết nối đến các máy chủ không bị gián đoạn khi có máy chủ xảy ra sự cố.
MariaDB:
- Galera Cluster hỗ trợ tốt nhất với innoDB
- Có thể có các bảng MYiSAM hoặc MEMORY nhưng không nhận được bản sao đồng bộ sang các nút khác, chỉ có thể làm được với innoDB
- Cách Galera đồng bộ dữ liệu bản sao, yêu cầu RollBack phải khả thi kể cả đang COMMIT. Các keys trùng lặp sẽ là vấn đề khi cho phép ghi vào tất cả các nodes
- NDB thực hiện cách tiếp cận khác ( Tính nhất quán cuối cùng ). Các keys trùng lặp có thể xâm nhập vào hệ thống nhưng client sẽ phải cung cấp thuật toán để khắc phục
- MYiSAM không có cách nào để thực hiện RollBack vì phụ thuộc vào bảng khóa phía trước. Khóa các bảng trên node khác sẽ gây ra vấn đề và không hiệu quả
- Galera có thể hoạt động hiệu quả ngay cả trong WAN nhờ hành động COMMIT đơn lẻ trên từng node
Một số thông tin cần chú ý
Binary Log Purging
MySql Binary Log là một cơ chế của MySql dùng để lưu trữ các thay đổi của dữ liệu dưới dạng một file log.Tất cả các thay đổi sẽ được lưu thêm vào (append only) vào một file log được đánh số thứ tự.Mỗi thay đổi được đặc trưng bởi hai tham số: file log được ghi vào vị trí offset trên file log.
- Mysql 8.0 : Binary Log tự động xoá ( binlog_expire_logs_seconds )
- Version trước 8.0.1 Không tự động xoá binary log ( defaults =0 )
- Version 8.0.1 -> 8.0.4 Xoá binary log sau 30 ngày ( defaults = 30 )
- Version sau 8.0.10 xoá binary log sau 30 ngày ( defaults = 2592000 và default value expire_log_days = 0 )
Thay đổi trên từng host :
SET GLOBAL expire_logs_days = 10;
Tóm lại
Multi-node MySQL là lựa chọn lý tưởng cho những doanh nghiệp và tổ chức cần hệ thống cơ sở dữ liệu mạnh mẽ, ổn định và có khả năng mở rộng linh hoạt. Việc triển khai giải pháp này không chỉ giúp giảm thiểu tải cho máy chủ mà còn tối ưu hóa tốc độ xử lý và bảo đảm sự an toàn dữ liệu. Nếu bạn đang tìm kiếm cách tối ưu hóa hệ thống cơ sở dữ liệu của mình, Multi-node MySQL chính là giải pháp đáng để cân nhắc.
Xem thêm
- Phần 8: Khắc Phục Lỗi Thường Gặp Và Mẹo Sử Dụng MySQL Shell Hiệu Quả
- Phần 7: Cấu Hình MySQL Shell Qua Command Line – Các Lệnh Quan Trọng Bạn Cần Biết
- Phần 6: Giám Sát Hiệu Suất MySQL Cluster – Các Công Cụ và Phương Pháp Hiệu Quả
- Phần 5 : Cài Đặt và Cấu Hình MySQL Router – Kết Nối Cluster An Toàn
- Phần 4: Tạo MySQL Cluster và Tham Gia Group: Hướng Dẫn Từng Bước
- Phần 3 : Pre-checking và Chuẩn Bị Hệ Thống Trước Khi Tạo MySQL Cluster
- Phần 2 : Cài đặt MySQL và MySQL Shell
Post Comment