Nhân bản (replication)
DDIA Ch5 — giữ cùng dữ liệu trên nhiều node: single-leader (leader/follower, failover), replication lag và read-your-writes/monotonic reads, multi-leader (write conflict), leaderless (quorum R+W>N, read repair, anti-entropy). Recall quorum, vector-clock, merkle, gossip.
Nội dung
Danh sách bài học
- 01~10 phút
Module 2 — Nhân bản (Replication): tổng quan
Giữ cùng dữ liệu trên nhiều node để tăng tin cậy, đọc gần, và chịu lỗi. Ba kiến trúc: single-leader, multi-leader, leaderless — và bài toán khó nhất: giữ các bản đồng bộ.
- 02~12 phút
Single-leader — một bản nhận ghi, các bản còn lại theo sau
Kiến trúc replication phổ biến nhất: một leader nhận mọi ghi rồi phát log cho các follower. Sync vs async replication, dựng follower mới, và failover khi leader chết.
- 03~12 phút
Replication lag — sống chung với độ trễ giữa các bản
Async replication làm follower trễ hơn leader một nhịp. Eventual consistency và ba đảm bảo sống chung với lag: read-your-writes, monotonic reads, consistent prefix reads.
- 04~12 phút
Multi-leader — ghi ở nhiều nơi và bài toán xung đột
Ghi ở nhiều leader (đa datacenter, offline) đổi lấy độ trễ ghi thấp và chịu lỗi — nhưng sinh write conflict. Cách phát hiện và các chiến lược giải quyết xung đột.
- 05~13 phút
Leaderless — mọi bản bình đẳng, dùng quorum
Bỏ luôn khái niệm leader: client ghi/đọc thẳng tới nhiều bản. Quorum R+W>N đảm bảo đọc thấy ghi mới nhất; read repair và anti-entropy hàn các bản lệch.
- 06~11 phút
Chọn mô hình replication theo workload
Single-leader, multi-leader hay leaderless? Không có cái tốt nhất — chỉ có cái hợp workload. Khung quyết định theo nơi ghi, độ trễ, chịu phân tách và mức nhất quán cần.
- 07~9 phút
Module 2 — Tổng kết & cheat sheet
Recap replication: single/multi-leader/leaderless, replication lag + ba đảm bảo session, quorum, conflict resolution. Cheat sheet, glossary, self-assessment.