Sao lưu tự động

Người dùng gói Blaze có thể thiết lập Firebase Realtime Database để sao lưu tự động. Đâ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 chứa Cloud Storage.

Thiết lập

  1. Trong bảng điều khiển Firebase, hãy chuyển đến phần Databases & Storage > Cơ sở dữ liệu theo thời gian thực.

  2. Trong thẻ Backups (Bản 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 ngay 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 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 đố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 WRITER (NGƯỜI 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 vào dữ liệu đó. Firebase sẽ không có quyền truy cập bổ sung vào các vùng chứa khác Cloud Storagecủa bạn 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 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 về cách 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ẻ Databases & Storage (Cơ sở dữ liệu và bộ nhớ) > Realtime Database (Cơ sở dữ liệu theo thời gian thực) > Data (Dữ liệu).

    2. Nhấp vào Import JSON (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ẻ Databases & Storage (Cơ sở dữ liệu và bộ nhớ) > Realtime Database (Cơ sở dữ liệu theo thời gian thực) > Settings (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 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. 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 sao lưu thủ công trong suốt cả ngày hay không.

Đặt tên tệp

Các tệp được chuyển sang 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 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 giờ cụ thể bằng cách tìm kiếm Cloud Storage 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 cách 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 gửi lệnh dòng lệnh bằng cách sử dụng tệp nhị phân gunzip được cung cấp 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 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 Bản 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 lưu trữ 30 ngày để giảm chi phí lưu trữ.