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

เกี่ยวข้องกับ Cloud Firestore รุ่นมาตรฐานและ Cloud Firestore รุ่น Enterprise

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

การคืนค่าในตำแหน่ง

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

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

ทำการกู้คืนในตำแหน่ง

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

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

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

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

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

  • ใช้ 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 ด้วยรหัสฐานข้อมูล

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