Backup Database Full, Incremental, Differential khác nhau thế nào?

Backup Database, Full Backup, Incremental Backup, Differential Backup, Backup MySQL, Backup PostgreSQL, Backup MariaDB, Database Backup, RPO, RTO, Backup 3-2-1, Disaster Recovery, Cloud VPS Database, Cloud VPS NVMe, CloudX

Backup Database Full, Incremental, Differential khác nhau thế nào?

Database là nơi lưu trữ dữ liệu cốt lõi của website, phần mềm doanh nghiệp, CRM, ERP, LMS, thương mại điện tử, AI Chatbot và gần như mọi hệ thống số hiện đại.

Nếu Database bị mất, bị lỗi, bị xóa nhầm hoặc bị mã độc mã hóa, doanh nghiệp có thể mất đơn hàng, dữ liệu khách hàng, hợp đồng, điểm số, lịch sử giao dịch hoặc toàn bộ dữ liệu vận hành.

Vì vậy, Backup Database không phải là việc “nên làm”, mà là việc bắt buộc. Tuy nhiên, không phải kiểu backup nào cũng giống nhau. Ba khái niệm thường gặp nhất là Full Backup, Incremental BackupDifferential Backup.

1. Backup Database là gì?

Backup Database là quá trình sao lưu dữ liệu từ hệ quản trị cơ sở dữ liệu sang một nơi lưu trữ khác để có thể khôi phục khi xảy ra sự cố.

Backup có thể lưu dưới nhiều dạng:

  • File SQL dump.
  • File backup nén.
  • Snapshot ổ đĩa.
  • Physical backup.
  • Binary log / WAL archive.
  • Backup lên storage từ xa.
  • Backup sang máy chủ khác.

Mục tiêu cuối cùng của backup là có thể restore dữ liệu khi cần.

Note: Backup chỉ có giá trị khi bạn khôi phục được. Một file backup chưa từng test restore có thể không cứu được doanh nghiệp khi sự cố xảy ra.

2. Vì sao doanh nghiệp cần Backup Database?

Database có thể gặp sự cố vì rất nhiều nguyên nhân:

  • Xóa nhầm dữ liệu.
  • Update sai hàng loạt.
  • Hỏng ổ cứng.
  • Lỗi hệ điều hành.
  • Lỗi phần mềm.
  • Ransomware mã hóa dữ liệu.
  • Nhân sự thao tác sai.
  • Migration lỗi.
  • Ứng dụng bị tấn công.
  • Cloud/VPS gặp sự cố.

Nếu không có backup, doanh nghiệp gần như không có đường quay lại.

Warning: Replication, Read Replica hay Database Cluster không thay thế Backup. Nếu dữ liệu bị xóa nhầm hoặc bị mã độc phá hoại, lỗi đó có thể được đồng bộ sang các node khác.

3. Full Backup là gì?

Full Backup là hình thức sao lưu toàn bộ Database tại một thời điểm.

Ví dụ nếu Database có:

  • Bảng customers.
  • Bảng orders.
  • Bảng products.
  • Bảng payments.
  • Bảng logs.

Full Backup sẽ sao lưu toàn bộ các bảng, dữ liệu, cấu trúc liên quan tại thời điểm chạy backup.

Mô hình:

Database hiện tại
      |
      v
Full Backup File
      |
      v
Lưu toàn bộ dữ liệu

Ưu điểm của Full Backup

  • Dễ hiểu.
  • Dễ restore.
  • Không phụ thuộc nhiều file backup khác.
  • Phù hợp backup định kỳ.
  • Phù hợp hệ thống nhỏ và vừa.

Nhược điểm của Full Backup

  • Tốn dung lượng lưu trữ.
  • Thời gian backup lâu hơn.
  • Có thể ảnh hưởng hiệu năng nếu Database lớn.
  • Không tối ưu nếu dữ liệu thay đổi ít nhưng Database rất lớn.

Ví dụ MySQL Full Backup:

mysqldump -u root -p database_name > database_full_backup.sql

Ví dụ PostgreSQL Full Backup:

pg_dump -U postgres -d database_name -F c -f database_full_backup.dump

4. Incremental Backup là gì?

Incremental Backup là hình thức chỉ sao lưu phần dữ liệu thay đổi kể từ lần backup gần nhất, bất kể lần backup đó là Full Backup hay Incremental Backup.

Ví dụ:

  • Chủ nhật: Full Backup.
  • Thứ hai: Backup phần thay đổi từ Chủ nhật đến Thứ hai.
  • Thứ ba: Backup phần thay đổi từ Thứ hai đến Thứ ba.
  • Thứ tư: Backup phần thay đổi từ Thứ ba đến Thứ tư.

Mô hình:

Sunday    -> Full Backup
Monday    -> Incremental 1
Tuesday   -> Incremental 2
Wednesday -> Incremental 3

Ưu điểm của Incremental Backup

  • Tiết kiệm dung lượng.
  • Backup nhanh hơn Full Backup.
  • Phù hợp Database lớn.
  • Phù hợp hệ thống có dữ liệu tăng liên tục.

Nhược điểm của Incremental Backup

  • Restore phức tạp hơn.
  • Cần đầy đủ chuỗi backup.
  • Nếu một file incremental lỗi, quá trình restore có thể bị ảnh hưởng.
  • Cần quản lý lịch backup chặt chẽ.
Warning: Incremental Backup tiết kiệm dung lượng nhưng yêu cầu quy trình restore chính xác. Không nên triển khai nếu doanh nghiệp chưa có quy trình kiểm tra restore định kỳ.

5. Differential Backup là gì?

Differential Backup là hình thức sao lưu toàn bộ dữ liệu thay đổi kể từ lần Full Backup gần nhất.

Ví dụ:

  • Chủ nhật: Full Backup.
  • Thứ hai: Backup thay đổi từ Chủ nhật đến Thứ hai.
  • Thứ ba: Backup thay đổi từ Chủ nhật đến Thứ ba.
  • Thứ tư: Backup thay đổi từ Chủ nhật đến Thứ tư.

Mô hình:

Sunday    -> Full Backup
Monday    -> Differential từ Sunday đến Monday
Tuesday   -> Differential từ Sunday đến Tuesday
Wednesday -> Differential từ Sunday đến Wednesday

Ưu điểm của Differential Backup

  • Restore dễ hơn Incremental.
  • Chỉ cần Full Backup + bản Differential mới nhất.
  • Tiết kiệm dung lượng hơn Full Backup hàng ngày.
  • Phù hợp nhiều doanh nghiệp vừa.

Nhược điểm của Differential Backup

  • Dung lượng tăng dần theo thời gian.
  • Backup lâu hơn Incremental sau nhiều ngày.
  • Cần Full Backup nền gần nhất.
Note: Differential Backup là lựa chọn cân bằng giữa Full Backup và Incremental Backup: restore đơn giản hơn incremental nhưng tiết kiệm dung lượng hơn full backup mỗi ngày.

6. So sánh Full, Incremental, Differential Backup

Tiêu chí Full Backup Incremental Backup Differential Backup
Dữ liệu sao lưu Toàn bộ Database Phần thay đổi từ lần backup gần nhất Phần thay đổi từ lần Full Backup gần nhất
Dung lượng Lớn nhất Nhỏ nhất Trung bình, tăng dần
Tốc độ backup Chậm hơn Nhanh nhất Trung bình
Tốc độ restore Nhanh, đơn giản Phức tạp hơn Dễ hơn incremental
File cần khi restore Chỉ cần bản Full Full + toàn bộ incremental liên quan Full + differential mới nhất
Phù hợp Database nhỏ/vừa Database lớn, thay đổi liên tục Doanh nghiệp cần cân bằng

7. Ví dụ lịch Backup Database thực tế

Mô hình đơn giản cho website nhỏ

Hàng ngày: Full Backup lúc 02:00
Giữ lại: 7 bản gần nhất
Lưu trữ: VPS khác hoặc Object Storage

Mô hình cho doanh nghiệp vừa

Chủ nhật: Full Backup
Thứ 2 - Thứ 7: Differential Backup
Giữ lại: 4 tuần
Lưu trữ: Local + Remote Storage

Mô hình cho Database lớn

Chủ nhật: Full Backup
Hàng ngày: Incremental Backup
Mỗi 15 phút: Binary Log / WAL Archive
Giữ lại: 30 - 90 ngày
Lưu trữ: Remote Storage + Offsite Backup
Note: Lịch backup tốt phụ thuộc vào RPO, RTO, dung lượng Database, tốc độ thay đổi dữ liệu và mức độ quan trọng của hệ thống.

8. Backup MySQL, PostgreSQL, MariaDB

Backup MySQL

MySQL thường dùng mysqldump cho backup logic:

mysqldump -u root -p database_name > backup.sql

Backup toàn bộ database:

mysqldump -u root -p --all-databases > all_databases.sql

Backup PostgreSQL

PostgreSQL thường dùng pg_dump:

pg_dump -U postgres -d database_name -F c -f backup.dump

Backup toàn bộ cluster:

pg_dumpall -U postgres > all_databases.sql

Backup MariaDB

MariaDB có thể dùng mysqldump tương tự MySQL:

mysqldump -u root -p database_name > mariadb_backup.sql

Với hệ thống lớn, nên cân nhắc physical backup, replication, binary log hoặc công cụ backup chuyên dụng.

9. Ưu điểm và nhược điểm từng loại backup

Loại backup Ưu điểm Nhược điểm
Full Backup Dễ quản lý, dễ restore Tốn dung lượng, thời gian backup lâu
Incremental Backup Tiết kiệm dung lượng, backup nhanh Restore phức tạp, phụ thuộc chuỗi backup
Differential Backup Cân bằng giữa dung lượng và restore Dung lượng tăng dần sau mỗi lần full backup

10. RPO và RTO trong Backup Database

Khi nói về backup, doanh nghiệp cần hiểu hai khái niệm quan trọng:

  • RPO: Recovery Point Objective - mức dữ liệu tối đa có thể mất.
  • RTO: Recovery Time Objective - thời gian tối đa để khôi phục hệ thống.

Ví dụ:

  • RPO = 15 phút: doanh nghiệp chấp nhận mất tối đa 15 phút dữ liệu.
  • RTO = 1 giờ: hệ thống phải được khôi phục trong vòng 1 giờ.
Mức độ quan trọng RPO gợi ý RTO gợi ý
Website nhỏ 24 giờ 4-8 giờ
Website bán hàng 1-4 giờ 1-2 giờ
CRM/ERP 15-60 phút 30-120 phút
Tài chính/giao dịch Gần realtime Rất thấp
Warning: Nếu không xác định RPO/RTO, doanh nghiệp sẽ không biết backup hiện tại có đủ an toàn hay không.

11. Quy tắc Backup 3-2-1

Quy tắc Backup 3-2-1 là nguyên tắc rất phổ biến:

  • Có ít nhất 3 bản dữ liệu.
  • Lưu trên 2 loại thiết bị hoặc nền tảng khác nhau.
  • Có ít nhất 1 bản backup nằm ngoài hệ thống chính.

Ví dụ:

1 bản dữ liệu production
1 bản backup trên VPS backup nội bộ
1 bản backup trên Object Storage hoặc máy chủ ngoài site
Note: Backup tốt nên có bản offsite để chống mất dữ liệu khi cả máy chủ chính gặp sự cố nghiêm trọng.

12. Yêu cầu CPU/RAM/NVMe

Quy mô Database CPU khuyến nghị RAM khuyến nghị NVMe khuyến nghị Chiến lược backup
Website nhỏ 2 vCPU 4 GB 50-100 GB Full Backup hàng ngày
Website doanh nghiệp 4 vCPU 8 GB 100-200 GB Full + Differential
WooCommerce 4-8 vCPU 16 GB 200-300 GB Full + Incremental/Binlog
CRM/ERP 8 vCPU 16-32 GB 300-500 GB Full + Incremental + Offsite
Database Production lớn 16 vCPU+ 64 GB+ 1 TB+ Full + Incremental + PITR + DR
Note: Ổ NVMe giúp quá trình backup và restore nhanh hơn rõ rệt, đặc biệt với Database lớn, nhiều bảng, nhiều index và nhiều transaction log.

13. Sai lầm thường gặp khi Backup Database

  • Chỉ backup trên cùng máy chủ production.
  • Không test restore.
  • Không mã hóa backup chứa dữ liệu nhạy cảm.
  • Không giám sát backup có chạy thành công hay không.
  • Không có lịch giữ bản backup cũ.
  • Không có backup offsite.
  • Chỉ dựa vào snapshot mà không có database-level backup.
  • Nghĩ replica hoặc cluster là backup.
  • Không xác định RPO/RTO.
  • Không kiểm tra dung lượng lưu trữ backup.

14. FAQ 

Full Backup là gì?

Full Backup là hình thức sao lưu toàn bộ Database tại một thời điểm.

Incremental Backup là gì?

Incremental Backup chỉ sao lưu phần dữ liệu thay đổi kể từ lần backup gần nhất.

Differential Backup là gì?

Differential Backup sao lưu phần dữ liệu thay đổi kể từ lần Full Backup gần nhất.

Full Backup, Incremental, Differential khác nhau thế nào?

Full Backup sao lưu toàn bộ, Incremental sao lưu thay đổi từ lần backup gần nhất, còn Differential sao lưu thay đổi từ lần Full Backup gần nhất.

Loại backup nào tốt nhất?

Không có loại tốt nhất cho mọi hệ thống. Website nhỏ có thể dùng Full Backup, doanh nghiệp vừa có thể dùng Full + Differential, hệ thống lớn nên dùng Full + Incremental + log archive.

Backup có thay thế Replication không?

Không. Backup dùng để khôi phục dữ liệu, còn Replication dùng để đồng bộ dữ liệu và tăng độ sẵn sàng.

Có cần test restore không?

Có. Backup chưa test restore thì chưa thể coi là an toàn.

15. CloudX hỗ trợ Backup Database

CloudX - Giải pháp Backup Database an toàn cho doanh nghiệp

CloudX hỗ trợ doanh nghiệp xây dựng chiến lược Backup Database bài bản:

  • Tư vấn Full Backup, Incremental Backup, Differential Backup.
  • Backup MySQL, PostgreSQL, MariaDB.
  • Thiết lập lịch backup tự động.
  • Backup offsite sang máy chủ khác hoặc storage từ xa.
  • Kiểm tra restore định kỳ.
  • Giám sát trạng thái backup.
  • Mã hóa dữ liệu backup.
  • Tư vấn RPO/RTO.
  • Thiết kế Disaster Recovery cho Database.

CloudX cung cấp Cloud VPS NVMe, Cloud Server và hạ tầng lưu trữ tốc độ cao phù hợp cho website, CRM, ERP, Canvas LMS, AI Chatbot và Database production.

Hotline/Zalo: 0983.357.585

16. Kết luận

Full Backup, Incremental Backup và Differential Backup là ba chiến lược sao lưu Database quan trọng mà doanh nghiệp cần hiểu rõ.

Full Backup dễ restore nhưng tốn dung lượng. Incremental Backup tiết kiệm dung lượng nhưng restore phức tạp hơn. Differential Backup là lựa chọn cân bằng giữa hai phương án trên.

Một chiến lược backup tốt không chỉ là có file backup, mà còn phải có lịch backup hợp lý, lưu trữ offsite, mã hóa dữ liệu, giám sát trạng thái backup, test restore định kỳ và xác định rõ RPO/RTO.

 

BÀI VIẾT CÙNG CHUYÊN MỤC

Không copy được giữa máy Windows và máy ảo qua mRemoteNG/RDP: Nguyên nhân và cách sửa
Không copy được giữa máy Windows và máy ảo qua ...

mRemoteNG Remote Desktop RDP Clipboard Redirection rdpclip.exe VPS Windows ...

Hướng dẫn bật Nested Virtualization trên ESXi để chạy Android Studio Emulator trong máy ảo Windows
Hướng dẫn bật Nested Virtualization trên ESXi để chạy ...

Nested Virtualization ESXi VMware Android Studio Android Emulator WHPX Hyper-V ...

PITR (Point In Time Recovery) là gì? Khôi phục Database về đúng thời điểm cần thiết
PITR (Point In Time Recovery) là gì? Khôi phục ...

PITR, Point In Time Recovery, PITR là gì, Database Recovery, PostgreSQL PITR, ...

Backup Database Full, Incremental, Differential khác nhau thế nào?
Backup Database Full, Incremental, Differential khác ...

Backup Database, Full Backup, Incremental Backup, Differential Backup, Backup ...

Database Cluster là gì? High Availability, Failover và Cluster Database hoạt động như thế nào?
Database Cluster là gì? High Availability, Failover và ...

Database Cluster, Database Cluster là gì, High Availability Database, Database ...