[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.

[mySQL] Setup and clustering mySQL with MariaDB Galera Cluster

1. Cài đặt MariaDB
MariaDB là một nhánh của MySQL, được thiết kế để quá trình chuyển đổi từ MySQL sang MariaDB không gặp bất cứ trở ngại nào. Với lợi thế trên, cộng với sự hỗ trợ mạnh mẽ từ cộng đồng nguồn mở MariaDB ngày càng trở nên phổ biến. Một điều thú vị rằng MariaDB được phát triển bởi cha đẻ của mySQL - hiện đang được phát triển bởi Oracle. Có rất nhiều tiên đoán rằng trong tương lai, MariaDB sẽ thay thế hoàn toàn mySQL và là database được cài đặt mặc định trong các HĐH Unix.