ผู้ใช้แพ็กเกจ Blaze สามารถตั้งค่า Firebase Realtime Database เพื่อ สำรองข้อมูลอัตโนมัติ ซึ่งเป็นฟีเจอร์แบบบริการตนเองที่ช่วยให้สำรองข้อมูลแอปพลิเคชัน ฐานข้อมูลและ Security Rules ใน รูปแบบ JSON ไปยัง Cloud Storage บัคเก็ตได้ทุกวัน
ตั้งค่า
ในคอนโซลFirebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database
ในแท็บข้อมูลสำรอง ให้ใช้เวิร์กโฟลว์ในคอนโซลเพื่อตั้งค่าการสำรองข้อมูลอัตโนมัติ
เราเปิดใช้การบีบอัด Gzip ไว้โดยค่าเริ่มต้นเพื่อช่วยคุณประหยัดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูล และคุณสามารถเลือกเปิดใช้นโยบายช่วงการใช้งาน 30 วัน ในบัคเก็ตเพื่อให้ระบบลบข้อมูลสำรองที่มีอายุมากกว่า 30 วันโดยอัตโนมัติ
คุณสามารถดูสถานะและกิจกรรมการสำรองข้อมูลได้โดยตรงในคอนโซลFirebase ซึ่งคุณสามารถเริ่มการสำรองข้อมูลด้วยตนเองได้ด้วย ฟีเจอร์นี้มีประโยชน์สำหรับการถ่ายสแนปชอตที่กำหนดเวลาไว้โดยเฉพาะ หรือใช้เป็นมาตรการความปลอดภัยก่อนที่จะทำการเปลี่ยนแปลงโค้ด
เมื่อตั้งค่าแล้ว ระบบจะสร้างบัคเก็ต Cloud Storage ใหม่ให้คุณโดยมีสิทธิ์ WRITER สำหรับ Firebase คุณไม่ควรจัดเก็บข้อมูลในบัคเก็ตนี้หากไม่ต้องการให้ Firebase เข้าถึงข้อมูลดังกล่าว Firebase จะไม่มีสิทธิ์เข้าถึงบัคเก็ต อื่น Cloud Storage หรือส่วนอื่นๆ ของ Google Cloud เพิ่มเติม
การกู้คืนจากข้อมูลสำรอง
หากต้องการกู้คืน Firebase จากข้อมูลสำรอง ให้ดาวน์โหลดไฟล์จาก Cloud Storage ลงในดิสก์ในเครื่องก่อน คุณสามารถทำได้โดยคลิกชื่อไฟล์ ในส่วนกิจกรรมการสำรองข้อมูลหรือจากอินเทอร์เฟซCloud Storageบัคเก็ต หากไฟล์ถูกบีบอัดด้วย Gzip ให้ คลายการบีบอัดไฟล์ก่อน
คุณมี 2 ตัวเลือกในการนำเข้าข้อมูล ดังนี้
ตัวเลือกที่ 1: ใช้คอนโซล Firebase
ไปที่แท็บฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > ข้อมูล
คลิกนำเข้า JSON แล้วเลือกไฟล์ JSON ของข้อมูลแอปพลิเคชัน
ตัวเลือกที่ 2: ส่งคำขอ CURL จากบรรทัดคำสั่ง
ดึงข้อมูลลับจาก Firebase ซึ่งคุณสามารถดูได้จากแท็บ ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > การตั้งค่า
ป้อนข้อมูลต่อไปนี้ลงในเทอร์มินัล โดยแทนที่ช่อง
DATABASE_NAMEและSECRETด้วยค่าของคุณเองcurl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
หากพบปัญหาในการกู้คืนข้อมูลสำรองจากฐานข้อมูลขนาดใหญ่มาก โปรดติดต่อทีมสนับสนุน Firebase
การตั้งเวลา
ระบบจะกำหนดเวลาสำรองข้อมูลฐานข้อมูลเป็นชั่วโมงที่เฉพาะเจาะจงในแต่ละวันเพื่อให้มั่นใจว่ามีการกระจายโหลดอย่างสม่ำเสมอและความพร้อมใช้งานสูงสุดสำหรับลูกค้าที่ใช้บริการสำรองข้อมูลทั้งหมด การสำรองข้อมูลตามกำหนดเวลาจะเกิดขึ้นไม่ว่าคุณจะสำรองข้อมูลด้วยตนเองตลอดทั้งวันหรือไม่ก็ตาม
การตั้งชื่อไฟล์
ระบบจะประทับเวลา (มาตรฐาน ISO 8601) ไฟล์ที่โอนไปยังบัคเก็ต Cloud Storage และใช้รูปแบบการตั้งชื่อต่อไปนี้
- ข้อมูลฐานข้อมูล:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json - กฎฐานข้อมูล:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
หากเปิดใช้ Gzip
ระบบจะเพิ่มคำต่อท้าย .gz ลงในชื่อไฟล์ คุณสามารถ
ค้นหาข้อมูลสำรองจากวันที่หรือเวลาที่เฉพาะเจาะจงได้อย่างง่ายดายโดยใช้Cloud Storage
การค้นหาคำนำหน้า
การบีบอัด Gzip
โดยค่าเริ่มต้น เราจะบีบอัดไฟล์ข้อมูลสำรองโดยใช้การบีบอัด Gzip เพื่อช่วยคุณประหยัดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูลและลดเวลาในการโอน ขนาดไฟล์ที่บีบอัดจะแตกต่างกันไปตามลักษณะข้อมูลของฐานข้อมูล แต่ฐานข้อมูลทั่วไปอาจมีขนาดเล็กลงเหลือ ⅓ ของขนาดเดิม ซึ่งช่วยให้คุณประหยัดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูลและลดเวลาในการอัปโหลดข้อมูลสำรอง
หากต้องการคลายการบีบอัดไฟล์ JSON ที่บีบอัดด้วย Gzip ให้เรียกใช้คำสั่งบรรทัดคำสั่งโดยใช้ไบนารี gunzip ซึ่งมาพร้อมกับ OS-X และการแจกจ่าย Linux ส่วนใหญ่โดยค่าเริ่มต้น
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
ช่วงการใช้งาน 30 วันของพื้นที่เก็บข้อมูล
เรามีสวิตช์การกำหนดค่าที่ใช้งานง่ายซึ่งเปิดใช้นโยบายช่วงการใช้งานออบเจ็กต์เริ่มต้น 30 วัน สำหรับบัคเก็ต Cloud Storage เมื่อเปิดใช้แล้ว ระบบจะลบไฟล์ในบัคเก็ตโดยอัตโนมัติหลังจากผ่านไป 30 วัน ซึ่งจะช่วยลดข้อมูลสำรองเก่าที่ไม่ต้องการ ช่วยคุณประหยัดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูล และทำให้ไดเรกทอรีบัคเก็ตสะอาด หากคุณวางไฟล์อื่นๆ ลงในบัคเก็ตข้อมูลสำรองอัตโนมัติ ระบบจะลบไฟล์เหล่านั้นตามนโยบายเดียวกันด้วย
ค่าใช้จ่าย
คุณสามารถเปิดใช้ฟีเจอร์ข้อมูลสำรองสำหรับโปรเจ็กต์ในแพ็กเกจ Blaze ได้ โดยไม่มีค่าใช้จ่ายเพิ่มเติม อย่างไรก็ตาม ระบบจะเรียกเก็บเงินจากคุณตามอัตรามาตรฐาน สำหรับไฟล์ข้อมูลสำรอง ที่วางไว้ในบัคเก็ตCloud Storage คุณสามารถเปิดใช้ Gzip การบีบอัด และ ช่วงการใช้งาน 30 วันของพื้นที่เก็บข้อมูล เพื่อลด ค่าใช้จ่ายด้านพื้นที่เก็บข้อมูล