✅ Checkpoint: backup và chọn công cụ

By Better Wise

Quiz

  1. Một bản backup chỉ thật sự có giá trị khi nào?
    • Khi backup được lưu cùng ổ đĩa với database cho tiện.
    • Khi job backup chạy xong với exit code 0.
    • Khi file backup có kích thước lớn hơn lần trước.
    • Khi đã khôi phục thử thành công và kiểm tra được dữ liệu (đếm dòng, checksum, smoke test).
  2. Vì sao khôi phục từ backup logic (ví dụ pg_dump) thường chậm hơn khôi phục từ backup vật lý?
    • Vì file backup logic luôn lớn hơn file backup vật lý.
    • Vì backup logic không thể nén nên phải đọc chậm hơn.
    • Vì phải chạy lại toàn bộ lệnh INSERT và tạo lại index.
    • Vì backup logic chỉ khôi phục được một bảng mỗi lần.
  3. Nếu hệ thống backup mỗi ngày một lần lúc 2h sáng, thì RPO xấp xỉ ____ giờ.
  4. PITR (Point-In-Time Recovery) cần những thành phần nào?
    • Chỉ cần snapshot ổ đĩa mỗi tuần một lần.
    • Chỉ cần một bản dump hằng ngày là đủ.
    • Một full backup cộng với WAL archive (hoặc binlog) được lưu liên tục.
    • Chỉ cần bật chế độ nén cho file backup.
  5. Khi thử khôi phục, nên khôi phục vào đâu?
    • Một instance tạm hoặc container riêng, tách khỏi production.
    • Đè trực tiếp lên database production đang chạy để kiểm tra nhanh.
    • Không cần khôi phục, chỉ cần xem kích thước file backup.
    • Một database khác trên cùng server production cho tiết kiệm.
  6. Để mysqldump trên bảng InnoDB đang có ghi không tạo bản không nhất quán, cần thêm tùy chọn ____.
  7. Một shop nhỏ có users, orders, order_items, payments; mỗi lần đặt hàng phải tạo order, thêm order_items, trừ kho và ghi payment cùng thành công hoặc cùng hủy. Nên chọn loại database nào?
    • Document database, nhét items dạng JSON cho linh hoạt.
    • Wide-column vì ghi nhiều.
    • SQL (ví dụ PostgreSQL) vì cần transaction, ràng buộc và báo cáo JOIN.
    • Key-value store vì độ trễ thấp.
  8. Chi phí ẩn khi bỏ JOIN trong database (chuyển sang NoSQL) là gì?
    • Không có chi phí nào, NoSQL luôn nhanh hơn.
    • Database tự động tạo JOIN ngầm nên không ảnh hưởng.
    • Phép join chuyển về application code, nhiều round-trip hơn và dễ tái sinh lỗi N+1.
    • Chỉ tốn dung lượng đĩa, không ảnh hưởng hiệu năng.
  9. Hãy tự đánh giá: bạn có thể lên kế hoạch backup có kiểm chứng cho một dự án nhỏ không? Trả lời bằng cách nêu RPO, RTO, loại backup và lịch thử khôi phục.
  10. Hãy tự đánh giá: bạn có thể chọn SQL hay NoSQL cho một dự án mới dựa trên hình dạng dữ liệu và access pattern không? Nêu một ví dụ và lý do.

Sign in to submit answers.