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 và các quy tắc của ứng dụng Cơ sở dữ liệu ở định dạng JSON vào bộ chứa Cloud Storage.
Thiết lập
Để bắt đầu, hãy truy cập vào thẻ Backups (Sao lưu) trong mục Database (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 tính năng sao lưu tự động.
Để tiết kiệm chi phí bộ nhớ, theo mặc định, chúng tôi bật tính năng nén Gzip. Bạn có thể chọn bật chính sách vòng đời 30 ngày trên bộ 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 theo cách thủ công. Điều này có thể hữu ích khi chụp ảnh nhanh theo thời gian cụ thể hoặc làm biện pháp an toàn trước khi bạn thực hiện bất kỳ thay đổi nào về mã.
Sau khi thiết lập, một bộ chứa Cloud Storage mới sẽ được tạo cho bạn với quyền WRITER cho Firebase. Bạn không nên lưu trữ dữ liệu trong bộ chứa này mà bạn không muốn Firebase truy cập. Firebase sẽ không có thêm quyền truy cập vào các bộ 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 từ Cloud Storage xuống ổ 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 bộ chứa Cloud Storage. Nếu tệp được nén bằng Gzip, trước tiên, hãy giải nén tệp đó.
Có hai cách để bạn có thể nhập dữ liệu của mình:
Phương pháp 1: Nhấp vào nút Import JSON trong phần Dữ liệu của cơ sở dữ liệu và chọn tệp JSON chứa dữ liệu ứng dụng của bạn.
Phương thức 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 các 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 một 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
Hoạt động 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 đồng đề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ó sao lưu theo cách thủ công trong ngày hay không.
Đặt tên tệp
Các tệp được chuyển vào bộ chứa Cloud Storage 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ủa 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 bản sao lưu của một ngày hoặc giờ 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 thay đổi 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ể thu nhỏ 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 đã nén, hãy phát 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 đối với 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 nút chuyển cấu hình dễ sử dụng, cho phép chính sách vòng đời đối tượng mặc định là 30 ngày cho bộ chứa Cloud Storage. Khi bạn bật tuỳ chọn này, các tệp trong bộ chứa của bạn sẽ tự động bị xoá sau 30 ngày. Việc này giúp giảm bớt các bản sao lưu cũ không mong muốn, giúp bạn tiết kiệm chi phí lưu trữ và giữ cho thư mục bộ 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 bộ chứa 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ẽ phải trả phí theo mức giá tiêu chuẩn cho các tệp sao lưu được đặt trong bộ chứa Cloud Storage. Bạn có thể bật chế độ Nén Gzip và Vòng đời 30 ngày của bộ nhớ để giảm chi phí lưu trữ.