[mySQL] Replication, cluster mySQL database
1. Replication
Replication là kỹ thuật đồng bộ các database với nhau.
Khi có một thay đổi trên cơ sở dữ liệu master, master sẽ ghi xuống log file (log ở dạng binary - binlog). Slave đọc log file, thực hiện những thao tác trong log file. Việc ghi, đọc log theo dạng binary được thực hiện rất nhanh.
Tại thời điểm hoạt động bình thường mọi request sẽ được đưa đến vào MySQL master. Khi MySQL master gặp sự cố, request sẽ được đẩy qua cho MySQL slave xử lí. Khi MySQL master up lại bình thường, request sẽ được trả về cho MySQL master.
Cơ bản, replication được chia ra làm 2 loại chính: Master - Slave và Master - Master.
- Master - Slave: dữ liệu ở server Master sẽ được server Slave định kỳ cập nhật, dữ liệu sẽ không được cập nhật ngược từ Slave trở về Master. Do đó user read&write trên Master và Readonly trên Slave.
- Master - Master: khi database có sự thay đổi, ngay lập tức nó sẽ được đồng bộ trên cả 2 server master. Với cách triển khai này, user có thể read&write trên cả 2 server.