Khôi phục về một thời điểm
Point-in-time recovery dựng lại dữ liệu đúng như trạng thái tại một thời điểm bạn chọn, chính xác đến giây. Đây là thứ bạn cần sau một sự cố có mốc thời gian rõ ràng, chẳng hạn một lần migration hỏng hoặc một câu DELETE nhầm, nơi mà quay về bản backup theo lịch sẽ mất toàn bộ dữ liệu phát sinh sau đó.
Cơ chế là replay archived log lên trên một bản full backup, nên cả hai đều phải có sẵn trước thời điểm bạn muốn quay về.
Chỉ hỗ trợ PostgreSQL, MySQL và MariaDB. Các engine khác dùng Restore từ backup, trừ Kafka và RabbitMQ — hai engine này không còn backup lẫn restore.
Thao tác này tạo một database mới. Nó không ghi đè database hiện tại, nên hãy dự trù quota tăng thêm và cập nhật thông tin kết nối của ứng dụng sau đó.
Điều kiện tiên quyết
- PITR đã bật trên database. Xem Bật & Tắt PITR.
- Có ít nhất một bản full backup, chạy sau khi PITR được bật.
- Archived log phủ được thời điểm bạn muốn quay về.
- Đủ quota còn lại cho một database thứ hai, vì khôi phục về một thời điểm sẽ dựng database mới và giữ nguyên database gốc đang chạy.
Thực hiện khôi phục
-
Nhấn ID database, mở tab Backup, rồi tab con Restore.
-
Nhấn Recover to point in time.

-
Hộp thoại mở ra với cấu hình của database nguồn. Điền các trường:
- Recovery cluster name: tên của database mới. Từ 8 đến 25 ký tự, bắt đầu bằng chữ cái, chỉ gồm chữ, số và dấu gạch ngang.
- Recover to: thời điểm cần quay về, nhập theo ngày kèm giờ, phút, giây. Phía trên các ô này, hộp thoại nêu Available recovery window với mốc sớm nhất và muộn nhất được phép chọn; thời điểm nằm ngoài khoảng đó sẽ bị từ chối.
- Flavor: cấu hình tính toán cho database mới.
- Storage policy: policy quyết định hiệu năng IOPS.
- Data storage (GB) và Number of nodes kế thừa từ database nguồn và chỉ đọc.
-
Nhấn Recover.
Hệ thống tạo một database mới mang dữ liệu đúng như tại thời điểm đó.
Bạn chỉ quay về được thời điểm sau bản full backup đầu tiên chạy tiếp sau khi kích hoạt PITR. Trước bản backup đó, PITR chưa khả dụng và các thay đổi không phục hồi được. Bật PITR không phải là thời điểm bảo vệ bắt đầu.
Chọn thời điểm khôi phục
Hãy chọn thời điểm cuối cùng bạn chắc chắn dữ liệu còn đúng, không phải thời điểm phát hiện ra vấn đề. Hai mốc này hiếm khi trùng nhau, và chọn mốc thứ hai đồng nghĩa với việc mang luôn cả vấn đề sang.
Nếu chưa chắc, hãy khôi phục thử về một mốc, kết nối vào database mới và kiểm tra. Thao tác này không đụng tới database gốc, nên bạn lặp lại với mốc khác bao nhiêu lần cũng được.
Bước tiếp theo
- Kết nối tới database qua Floating IP để kiểm tra dữ liệu trước khi chuyển traffic
- Bật & Tắt PITR để xem cửa sổ retention bạn khôi phục được trong đó
- Dừng, khởi động & khởi động lại database để xóa database bạn vừa thay thế