Lập trình 30/10/2026 7 phút

Replication đo thật: một thay đổi trên primary tới replica sau 59 ms qua binlog, replica được super_read_only chặn cả ghi của root (lỗi 1290), và khi luồng áp dụng bị dừng replica tụt lại 20.000 dòng rồi bắt kịp trong 1,6 giây

Phần 11 sê-ri MySQL và InnoDB: replication nhân bản dữ liệu từ một primary sang replica qua binary log, bất đồng bộ. Đo thật trong mysql:8 với hai container và GTID: một INSERT trên primary xuất hiện trên replica sau 59 ms (binlog phát sang relay log rồi áp dụng). Replica bật super_read_only chặn cả ghi của root với lỗi 1290 để không phân kỳ dữ liệu. Vì bất đồng bộ, replica có thể tụt lại: dừng luồng SQL áp dụng rồi ghi 20.000 dòng vào primary thì replica trễ đúng 20.000 dòng, bật lại thì replica replay relay log và bắt kịp trong 1,6 giây.

Cơ sở dữ liệu 22/09/2026 6 phút

Replication lag trong PostgreSQL: đo bằng byte và giây, và khi nó làm hỏng tính đúng đắn

Replication lag là khoảng cách giữa WAL primary đã ghi và replica đã phát lại. Bài này đo thật: tạm dừng replay để lag phình lên 66 MB và replica kẹt ở dữ liệu cũ trong khi primary có 501 nghìn dòng — minh hoạ đọc phải dữ liệu cũ. Cùng cách đo và giảm lag. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Nhân bản đồng bộ vs bất đồng bộ trong PostgreSQL: đổi thông lượng lấy độ bền

Nhân bản sync bắt primary chờ standby xác nhận trước khi commit — không mất dữ liệu khi primary chết, nhưng chậm hơn. Đo thật: dải synchronous_commit từ 5021 xuống 2475 tps, và demo commit treo với wait_event SyncRep khi standby chết. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Logical replication trong PostgreSQL: nhân bản theo bảng, không phải cả cụm

Logical replication dùng publisher/subscriber để nhân bản chọn lọc từng bảng, cho subscriber ghi được và chạy khác phiên bản. Bài này dựng thật lab sang sub_db: publish 2 trong 3 bảng, đo copy ban đầu, INSERT UPDATE DELETE nhân bản, và bảng không publish thì không sang. PostgreSQL 16.

Lập trình Go 22/09/2026 12 phút

Consensus với Raft trong Go: bầu leader và nhân bản log qua đa số

Khóa Redis có thể sai khi failover. Raft giải bài toán đồng thuận: nhiều node thống nhất một log lệnh dù có node chết, miễn đa số còn sống. Bài dựng cụm 3 node hashicorp/raft thật trong Go: đo bầu leader, nhân bản log đồng nhất, và failover — leader chết thì cụm tự bầu leader mới ở term cao hơn.