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à quy tắc ở định dạng JSON vào một nhóm Cloud Storage.
Thiết lập
Để bắt đầu, hãy truy cập vào thẻ Sao lưu trong phần Cơ sở dữ liệu của bảng điều khiển Firebase. Trình hướng dẫn sẽ hướng dẫn bạn thiết lập quy trình 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 vùng lưu trữ để 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 tại một thời điểm 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 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 nhóm 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ó thể nhập dữ liệu theo hai cách:
Cách 1: Nhấp vào nút Nhập JSON trong mục Dữ liệu của cơ sở dữ liệu rồi chọn tệp JSON dữ liệu ứng dụng của bạn.
Cách 2: Bạn cũng có thể đưa ra yêu cầu CURL từ dòng lệnh.
Trước tiên, hãy truy xuất một khoá bí mật từ Firebase. Bạn có thể lấy khoá này bằng cách truy cập vào trang Cài đặt cơ sở dữ liệu.
Sau đó, hãy nhập nội dung sau vào thiết bị đầu cuối, thay thế các trường DATABASE_NAME
và SECRET
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, vui lòng liên hệ với nhóm hỗ trợ của chúng tôi.
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 sẵn sà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 lưu trữ 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á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 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 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 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. Việc 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 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 Gzip và Vòng đời lưu trữ 30 ngày để giảm chi phí lưu trữ.