Tổng quan về việc khôi phục tại một thời điểm (PITR)

Tính năng khôi phục về một thời điểm nhất định (PITR) giúp bảo vệ dữ liệu khỏi bị xoá hoặc ghi nhầm. PITR duy trì các phiên bản của tài liệu theo dấu thời gian trước đây. Ví dụ: trong trường hợp nhà phát triển truyền dữ liệu không chính xác, xoá hoặc ghi nhầm, PITR có thể khôi phục dữ liệu về một thời điểm trong quá khứ (tối đa 7 ngày).

Đối với mọi cơ sở dữ liệu đang hoạt động tuân theo Các phương pháp hay nhất, việc sử dụng PITR không ảnh hưởng đến hiệu suất đọc hoặc ghi.

Khoảng thời gian PITR

Sau khi bạn bật PITR, Cloud Firestore sẽ bắt đầu giữ lại dữ liệu PITR. Dữ liệu PITR được giữ lại trong 7 ngày trong khoảng thời gian PITR.

Bạn có thể đọc dữ liệu cho dấu thời gian dựa trên thời điểm PITR được bật:

Trạng thái bật PITR Dữ liệu PITR sớm nhất có sẵn
Đã tắt 1 giờ trước thời điểm yêu cầu đọc
được bật trong vòng 7 ngày 1 giờ trước khi PITR được bật
đã được bật cách đây hơn 7 ngày 7 ngày trước thời điểm yêu cầu đọc

Mỗi phút sẽ có một phiên bản được giữ lại trong khoảng thời gian PITR. Bạn có thể đọc tài liệu ở độ chi tiết từng phút bằng cách sử dụng dấu thời gian nguyên phút. Các lượt đọc không có độ chi tiết theo phút như 2023-05-30 09:00:00.1234AM sẽ trả về lỗi cho biết read_time đã quá cũ.

Chỉ một phiên bản của tài liệu được giữ lại trong trường hợp có nhiều lượt ghi. Ví dụ: nếu một tài liệu có nhiều lượt ghi trong khoảng thời gian từ v1, v2, ... vk giữa dấu thời gian 2023-05-30 09:00:00AM (loại trừ) và 2023-05-30 09:01:00AM (bao gồm), thì yêu cầu đọc tại dấu thời gian 2023-05-30 09:01:00AM sẽ trả về phiên bản vk của tài liệu.

Bạn có thể đọc dữ liệu được tạo trong khoảng thời gian PITR. Dữ liệu được lưu trữ ở độ chi tiết theo phút và bạn có thể khôi phục dữ liệu ở cùng độ chi tiết. Theo mặc định, tính năng PITR bị tắt.

Trường earliestVersionTime của cơ sở dữ liệu chỉ định thời gian đọc sớm nhất được phép cho dữ liệu của bạn.

Bất kể bạn có bật PITR hay không, bạn đều có thể đọc (nhưng không thể xuất) các tài liệu tại bất kỳ dấu thời gian có độ chi tiết đến từng phần triệu giây nào trong vòng một giờ qua, nhưng không thể đọc trước earliestVersionTime.

Cách khôi phục dữ liệu

Có hai cách để khôi phục dữ liệu:

  • Để khôi phục một phần cơ sở dữ liệu, hãy thực hiện thao tác đọc dữ liệu cũ bằng cách chỉ định một điều kiện truy vấn hoặc sử dụng tính năng tra cứu khoá trực tiếp cùng với dấu thời gian trong quá khứ, sau đó ghi kết quả trở lại cơ sở dữ liệu đang hoạt động. Thao tác này thường được dùng cho các thao tác phẫu thuật trên cơ sở dữ liệu đang hoạt động. Ví dụ: nếu vô tình xoá một tài liệu cụ thể hoặc cập nhật không chính xác một tập hợp con dữ liệu, bạn có thể khôi phục dữ liệu đó bằng phương thức này. Để biết hướng dẫn, hãy xem phần khôi phục một phần cơ sở dữ liệu.

  • Để khôi phục toàn bộ cơ sở dữ liệu, hãy xuất cơ sở dữ liệu bằng cách chỉ định dấu thời gian trong quá khứ, rồi nhập cơ sở dữ liệu đó vào một cơ sở dữ liệu mới. Thao tác xuất PITR hỗ trợ tất cả các bộ lọc, bao gồm cả việc xuất tất cả tài liệu và xuất các tập hợp cụ thể. Bạn có thể xuất dữ liệu PITR có dấu thời gian là dấu thời gian nguyên phút trong vòng 7 ngày qua, nhưng không sớm hơn earliestVersionTime.

Giá

Hãy xem xét thông tin định giá sau đây trước khi bạn bật PITR cho cơ sở dữ liệu của mình:

  • Bộ nhớ: Cloud Firestore đo lường kích thước cơ sở dữ liệu hằng ngày. Trong khoảng thời gian một tháng, các điểm mẫu này được tính trung bình để tính kích thước bộ nhớ cơ sở dữ liệu. Giá trị trung bình này được nhân với đơn giá của PITR (GB-tháng). Hãy xem giá lưu trữ để biết thêm thông tin.

    Bộ nhớ PITR không có cấp miễn phí và bạn phải bật tính năng thanh toán nếu muốn sử dụng PITR.

  • Tính phí thanh toán: Mọi truy vấn mà bạn thực hiện trong khoảng thời gian PITR là 7 ngày, thông qua các lượt đọc hoặc xuất dữ liệu cũ, đều phải chịu chi phí cho hoạt động đọc dựa trên số lượng tài liệu được đọc. Hãy xem phần định giá để biết thêm thông tin.

  • Mức thanh toán tối thiểu: Bạn có thể bị tính phí lưu trữ PITR lên đến 1 ngày, ngay cả khi bạn tắt PITR trong vòng một ngày sau khi bật.

Bước tiếp theo