การสำรองข้อมูลอัตโนมัติ

ผู้ใช้แพ็กเกจ Blaze สามารถตั้งค่า Firebase Realtime Database สำหรับการสำรองข้อมูลอัตโนมัติ ซึ่งเป็นฟีเจอร์แบบบริการตนเองที่ช่วยให้สำรองข้อมูลแอปพลิเคชันฐานข้อมูลและ Security Rules ในรูปแบบ JSON ไปยังที่เก็บข้อมูล Cloud Storage ได้ทุกวัน

ตั้งค่า

  1. ในคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database

  2. ในแท็บข้อมูลสำรอง ให้ใช้เวิร์กโฟลว์ในคอนโซลเพื่อตั้งค่าการสำรองข้อมูลอัตโนมัติ

เราเปิดใช้การบีบอัด Gzip โดยค่าเริ่มต้นเพื่อประหยัดค่าใช้จ่ายในการจัดเก็บข้อมูล และคุณสามารถเลือกเปิดใช้นโยบายวงจร 30 วันในที่เก็บข้อมูลเพื่อลบข้อมูลสำรองที่เก่ากว่า 30 วันโดยอัตโนมัติได้

คุณดูสถานะและกิจกรรมการสำรองข้อมูลได้โดยตรงในคอนโซล Firebase ซึ่งคุณจะเริ่มการสำรองข้อมูลด้วยตนเองได้ด้วย ซึ่งจะมีประโยชน์สำหรับการถ่ายสแนปชอตตามเวลาที่กำหนดหรือเป็นการดำเนินการด้านความปลอดภัยก่อนที่คุณจะทำการเปลี่ยนแปลงโค้ด

เมื่อตั้งค่าแล้ว ระบบจะสร้างที่เก็บข้อมูล Cloud Storage ใหม่ให้คุณพร้อมสิทธิ์ WRITER สำหรับ Firebase คุณไม่ควรจัดเก็บข้อมูลในที่เก็บนี้หากไม่ต้องการให้ Firebase เข้าถึงได้ Firebase จะไม่มีสิทธิ์เข้าถึงเพิ่มเติมในที่เก็บข้อมูล Cloud Storage อื่นๆ หรือพื้นที่อื่นๆ ของ Google Cloud

กำลังกู้คืนจากข้อมูลสำรอง

หากต้องการกู้คืน Firebase จากข้อมูลสำรอง ให้ดาวน์โหลดไฟล์จาก Cloud Storage ไปยังดิสก์ในเครื่องก่อน ซึ่งทำได้โดยคลิกชื่อไฟล์ในส่วนกิจกรรมการสำรองข้อมูลหรือจากอินเทอร์เฟซบักเก็ต Cloud Storage หากไฟล์มีการบีบอัด Gzip ให้คลายการบีบอัดไฟล์ก่อน

คุณมี 2 ตัวเลือกในการนําเข้าข้อมูล ดังนี้

  • ตัวเลือกที่ 1: ใช้คอนโซล Firebase

    1. ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > แท็บข้อมูล

    2. คลิกนำเข้า JSON แล้วเลือกไฟล์ JSON ของข้อมูลแอปพลิเคชัน

  • ตัวเลือกที่ 2: ส่งคำขอ CURL จากบรรทัดคำสั่ง

    1. ดึงข้อมูลลับจาก Firebase ซึ่งคุณสามารถรับได้จากแท็บฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > การตั้งค่า

    2. ป้อนข้อมูลต่อไปนี้ลงในเทอร์มินัล โดยแทนที่ช่อง DATABASE_NAME และ SECRET ด้วยค่าของคุณเอง

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

หากพบปัญหาในการกู้คืนข้อมูลสำรองจากฐานข้อมูลขนาดใหญ่มาก โปรดติดต่อทีมสนับสนุนของ Firebase

การตั้งเวลา

ระบบจะกำหนดเวลาสำรองข้อมูลฐานข้อมูลเป็นเวลาที่เจาะจงในแต่ละวัน เพื่อให้มั่นใจว่าลูกค้าที่สำรองข้อมูลทั้งหมดจะได้รับภาระงานที่สม่ำเสมอและมีความพร้อมใช้งานสูงสุด การสำรองข้อมูลตามกำหนดเวลานี้จะเกิดขึ้นไม่ว่าคุณจะสำรองข้อมูลด้วยตนเองตลอดทั้งวันหรือไม่ก็ตาม

การตั้งชื่อไฟล์

ไฟล์ที่โอนไปยังที่เก็บข้อมูล Cloud Storage จะมีการประทับเวลา (มาตรฐาน ISO 8601) และใช้รูปแบบการตั้งชื่อต่อไปนี้

  • ข้อมูลฐานข้อมูล: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • กฎฐานข้อมูล: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

หากเปิดใช้ Gzip ระบบจะเพิ่มคำต่อท้าย .gz ไว้ที่ชื่อไฟล์ คุณสามารถค้นหาข้อมูลสำรองจากวันที่หรือเวลาที่ต้องการได้อย่างง่ายดายโดยใช้Cloud Storageการค้นหาคำนำหน้า

การบีบอัด Gzip

โดยค่าเริ่มต้น เราจะบีบอัดไฟล์ข้อมูลสำรองโดยใช้การบีบอัด Gzip เพื่อประหยัดค่าใช้จ่ายในการจัดเก็บและลดเวลาในการโอน ขนาดไฟล์ที่บีบอัดจะแตกต่างกันไปตามลักษณะข้อมูลของฐานข้อมูล แต่โดยทั่วไปแล้วฐานข้อมูลอาจลดลงเหลือ 1 ใน 3 ของขนาดเดิม ซึ่งช่วยประหยัดค่าใช้จ่ายในการจัดเก็บข้อมูลและลดเวลาในการอัปโหลดข้อมูลสำรอง

หากต้องการขยายไฟล์ 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 วันเพื่อลดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูลได้