Sao lưu tự động

Người dùng gói Blaze có thể thiết lập Firebase Realtime Database để tự động sao lưu. Đây là một tính năng tự phục vụ cho phép sao lưu hằng ngày dữ liệu ứng dụng Cơ sở dữ liệu và Security Rules ở định dạng JSON vào một vùng lưu trữ Cloud Storage.

Thiết lập

  1. Trong bảng điều khiển Firebase, hãy chuyển đến Cơ sở dữ liệu và bộ nhớ > Cơ sở dữ liệu theo thời gian thực.

  2. Trong thẻ Sao lưu, hãy sử dụng quy trình làm việc trong bảng điều khiển để thiết lập các bản sao lưu tự động.

Để tiết kiệm chi phí lưu trữ, theo mặc định, chúng tôi bật tính năng nén Gzip và bạn có thể chọn bật chính sách vòng đời 30 ngày trên nhóm của mình để tự động xoá các bản sao lưu cũ hơn 30 ngày.

Bạn có thể xem trạng thái và hoạt động sao lưu ngay trong bảng điều khiển Firebase. Tại đây, bạn cũng có thể bắt đầu sao lưu theo cách thủ công. Điều này có thể hữu ích khi bạn muốn chụp nhanh các khoảnh khắc cụ thể theo thời gian hoặc dùng làm biện pháp an toàn trước khi thực hiện bất kỳ thay đổi nào về mã.

Sau khi bạn thiết lập, một nhóm Cloud Storage mới sẽ được tạo cho bạn với quyền GHI cho Firebase. Bạn không nên lưu trữ dữ liệu trong vùng lưu trữ này nếu không muốn Firebase có quyền truy cập. Firebase sẽ không có thêm quyền truy cập vào các vùng chứa Cloud Storage khác hoặc bất kỳ khu vực nào khác của Google Cloud.

Khôi phục từ bản sao lưu

Để khôi phục Firebase từ bản sao lưu, trước tiên, hãy tải tệp xuống từ Cloud Storage vào ổ đĩa cục bộ. Bạn có thể thực hiện việc này bằng cách nhấp vào tên tệp trong phần hoạt động sao lưu hoặc từ giao diện nhóm Cloud Storage. Nếu tệp được nén bằng Gzip, trước tiên hãy giải nén tệp đó.

Bạn có hai lựa chọn để nhập dữ liệu:

  • Cách 1: Sử dụng bảng điều khiển Firebase.

    1. Chuyển đến Cơ sở dữ liệu và bộ nhớ > Realtime Database > Thẻ Dữ liệu.

    2. Nhấp vào Nhập JSON rồi chọn tệp JSON dữ liệu ứng dụng của bạn.

  • Cách 2: Gửi yêu cầu CURL từ dòng lệnh.

    1. Truy xuất một khoá bí mật từ Firebase. Bạn có thể lấy khoá này từ Cơ sở dữ liệu và bộ nhớ > Cơ sở dữ liệu theo thời gian thực > thẻ Cài đặt.

    2. Nhập nội dung sau vào thiết bị đầu cuối, thay thế các trường DATABASE_NAMESECRET bằng giá trị của riêng bạn:

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

Nếu bạn gặp vấn đề khi khôi phục bản sao lưu từ một cơ sở dữ liệu rất lớn, hãy liên hệ với Nhóm hỗ trợ Firebase.

Lập lịch

Bản sao lưu cơ sở dữ liệu của bạn được chỉ định vào một giờ cụ thể mỗi ngày để đảm bảo tải đều và có tính khả dụng cao nhất cho tất cả khách hàng sao lưu. Quá trình sao lưu theo lịch này sẽ diễn ra bất kể bạn có thực hiện bất kỳ hoạt động sao lưu thủ công nào trong ngày hay không.

Đặt tên tệp

Các tệp được chuyển đến vùng chứa Cloud Storage của bạn sẽ được gắn dấu thời gian (theo tiêu chuẩn ISO 8601) và sử dụng các quy ước đặt tên sau:

  • Dữ liệu cơ sở dữ liệu: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Quy tắc cơ sở dữ liệu: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Nếu bạn bật Gzip, hậu tố .gz sẽ được thêm vào tên tệp. Bạn có thể dễ dàng tìm thấy các bản sao lưu từ một ngày hoặc thời gian cụ thể bằng cách sử dụng tính năng tìm kiếm theo tiền tố Cloud Storage.

Nén Gzip

Theo mặc định, chúng tôi nén các tệp sao lưu của bạn bằng phương thức nén Gzip để tiết kiệm chi phí lưu trữ và giảm thời gian chuyển. Kích thước tệp nén sẽ khác nhau tuỳ thuộc vào đặc điểm dữ liệu của Cơ sở dữ liệu, nhưng Cơ sở dữ liệu thông thường có thể giảm xuống còn ⅓ kích thước ban đầu, giúp bạn tiết kiệm chi phí lưu trữ và giảm thời gian tải lên cho các bản sao lưu.

Để giải nén các tệp JSON được nén bằng Gzip, hãy đưa ra một lệnh dòng lệnh bằng cách sử dụng tệp nhị phân gunzip được vận chuyển theo mặc định cho OS-X và hầu hết các bản phân phối Linux.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

Vòng đời lưu trữ 30 ngày

Chúng tôi cung cấp một công tắc cấu hình dễ sử dụng, cho phép chính sách mặc định về vòng đời của đối tượng trong 30 ngày cho vùng chứa Cloud Storage của bạn. Khi bạn bật tính năng này, các tệp trong nhóm của bạn sẽ tự động bị xoá sau 30 ngày. Điều này giúp giảm số lượng bản sao lưu cũ không mong muốn, tiết kiệm chi phí lưu trữ và giữ cho thư mục của bạn luôn gọn gàng. Nếu bạn đặt các tệp khác vào nhóm Sao lưu tự động, thì các tệp đó cũng sẽ bị xoá theo chính sách tương tự.

Chi phí

Bạn có thể bật tính năng sao lưu cho các dự án trong gói Blaze mà không mất thêm phí. Tuy nhiên, bạn sẽ bị tính phí theo mức giá tiêu chuẩn cho các tệp sao lưu được đặt trong nhóm Cloud Storage. Bạn có thể bật tính năng Nén GzipVòng đời lưu trữ 30 ngày để giảm chi phí lưu trữ.