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 Cloud Storage vùng chứa.

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 quy trình sao lưu tự động.

Để tiết kiệm chi phí lưu trữ, chúng tôi bật tính năng nén Gzip theo mặc định. Bạn có thể chọn bật chính sách vòng đời 30 ngày trên vùng chứa để 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 trực tiếp trong bảng điều khiển Firebase. Tại đây, bạn cũng có thể bắt đầu sao lưu thủ công. Tính năng này có thể hữu ích khi bạn muốn chụp ảnh nhanh theo thời gian cụ thể hoặc thực hiện hành động an toàn trước khi thực hiện bất kỳ thay đổi nào đối với mã.

Sau khi thiết lập, một vùng chứa 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 chứa này nếu không muốn Firebase có quyền truy cập. Firebase sẽ không có quyền truy cập bổ sung vào các vùng chứa khác Cloud Storage hoặc bất kỳ khu vực nào khác của Google Cloud.

Khôi phục từ các 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 vùng chứaCloud 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ó 2 lựa chọn để nhập dữ liệu:

  • Lựa chọn 1: Sử dụng bảng điều khiển Firebase.

    1. Chuyển đến thẻ Cơ sở dữ liệu và bộ nhớ > Cơ sở dữ liệu theo thời gian thực > Dữ liệu.

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

  • Lựa chọn 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 trong thẻ Cơ sở dữ liệu và bộ nhớ > Cơ sở dữ liệu theo thời gian thực > Cài đặt.

    2. Nhập thông tin 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 sự cố 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 chỉ định cho một giờ cụ thể mỗi ngày để đảm bảo tải đều và khả năng sử dụng cao nhất cho tất cả khách hàng sao lưu. Bản 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ỳ bản 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 sẽ được gắn dấu thời gian (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 tính năng 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 Cloud Storage tính năng tìm kiếm tiền tố.

Nén Gzip

Theo mặc định, chúng tôi nén các tệp sao lưu bằng tính năng 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ác 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 bản sao lưu lên.

Để giải nén các tệp JSON được nén bằng Gzip, hãy đưa ra 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 30 ngày của bộ nhớ

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 vòng đời đối tượng 30 ngày mặc định cho vùng chứa Cloud Storage. Khi được bật, các tệp trong vùng chứa sẽ tự động bị xoá sau 30 ngày. Điều này giúp giảm các 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 vùng chứa của bạn luôn gọn gàng. Nếu bạn đặt các tệp khác vào vùng chứa Sao lưu tự động, các tệp đó cũng sẽ bị xoá theo cùng một chính sách.

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 phải trả 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 vùng chứa Cloud Storage. Bạn có thể bật tính năng Nén GzipVòng đời 30 ngày của Bộ nhớ để giảm chi phí lưu trữ.