Replica set là nhóm các node MongoDB giữ cùng dữ liệu để đảm bảo khả dụng cao:
- Primary: node duy nhất nhận ghi; ghi được ghi vào oplog (operation log).
- Secondary: sao chép oplog của primary và áp lại → giữ bản sao, có thể phục vụ đọc (tuỳ read preference).
- Arbiter (tuỳ chọn): không giữ dữ liệu, chỉ bỏ phiếu để phá thế hoà khi bầu chọn.
Cơ chế:
- Automatic failover: primary chết → các node bầu (election) một secondary lên làm primary → hệ tự phục hồi.
- Read preference: primary (mặc định, nhất quán mạnh hơn) hoặc secondary/nearest để chia tải đọc, đổi lại có thể đọc dữ liệu hơi cũ (replication lag).
- Write concern: quy định cần bao nhiêu node xác nhận một lần ghi (w: majority) → cân giữa an toàn và độ trễ.
Về bản chất giống leader–follower của DB quan hệ, có thêm bầu chọn tự động.