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 (tùy read preference).
- Arbiter (tùy chọn): không giữ dữ liệu, chỉ bỏ phiếu để phá thế hòa 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 ghi cần được xác nhận bởi bao nhiêu node (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.