ดำเนินการคืนค่าข้อมูลด้วยตนเอง

เกี่ยวข้องกับ Firestore รุ่น Standard และ Firestore รุ่น Enterprise

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

การกู้คืนข้อมูลรวมกับบริการ

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

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

ทำการกู้คืนข้อมูลรวมกับบริการ

หากต้องการกู้คืนข้อมูลรวมกับบริการ ให้ทำตามขั้นตอนต่อไปนี้

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

ก่อนเริ่มต้น

เราขอแนะนำให้ทำตามขั้นตอนต่อไปนี้ให้เสร็จก่อนเริ่มกระบวนการกู้คืนข้อมูลรวมกับบริการ

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

  • ใช้ gcloud firestore indexes composite list เพื่อดึงรายการดัชนีผสม

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    แทนที่ DATABASE_ID ด้วยรหัสของฐานข้อมูล

  • ใช้ gcloud firestore indexes fields list เพื่อดึงรายการข้อยกเว้นดัชนีฟิลด์เดียว (บิลด์อิน)

        gcloud firestore indexes fields list --database=DATABASE_ID
    

ทำการกู้คืนข้อมูลรวมกับบริการ

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

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

  1. ใช้คำสั่ง gcloud firestore backups list เพื่อระบุข้อมูลสำรองที่จะใช้ สำหรับการดำเนินการกู้คืนและจดชื่อทรัพยากร ชื่อทรัพยากรใช้รูปแบบต่อไปนี้

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. ใช้คำสั่ง gcloud firestore databases delete เพื่อลบฐานข้อมูลที่มีอยู่

        gcloud firestore databases delete --database='DATABASE_ID'
    

    แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล

  3. รออย่างน้อย 5 นาทีหลังจากลบฐานข้อมูลเพื่อให้รหัสฐานข้อมูลพร้อมใช้งานอีกครั้ง เริ่มการดำเนินการกู้คืนโดยใช้คำสั่ง gcloud firestore databases restore

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล

ขั้นตอนถัดไป