Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

เผยแพร่ครั้งแรกเมื่อวันที่ 6 กุมภาพันธ์ 2020 ที่ ObjectRocket.com/blog

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

ข้อเสนอ ObjectRocket PostgreSQL® (Postgres) เพิ่มโบนัส การเก็บถาวรบันทึกแบบเขียนล่วงหน้า (WAL) และความสามารถในการกู้คืนได้ตลอดเวลาภายในหน้าต่างการเก็บรักษา

โพสต์นี้จะแนะนำคุณเกี่ยวกับการกู้คืนแบบ point-in-time (PITR) ด้วย Postgres บนบริการ ObjectRocket

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket (/article/uploadfiles/202207/2022070812125333.png)

การสำรองข้อมูลที่ไม่ยุ่งยาก

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

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

ตัวเลือกการคืนค่าหลายรายการ

เมื่อคุณเจอสถานการณ์และต้องการกู้คืนข้อมูลสำรอง เรามีตัวเลือกมากมาย คุณสามารถกู้คืนได้จากจุดต่อไปนี้:

  • การอัปเดต WAL ล่าสุดที่เราจัดเก็บไว้
  • การสำรองข้อมูลพื้นฐานเฉพาะ
  • ช่วงเวลาที่เฉพาะเจาะจง

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

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

คืนค่าเป็นเวลาล่าสุด

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

รูปภาพต่อไปนี้แสดงฐานข้อมูล และคุณจะเห็นว่าเวลาประทับล่าสุดคือ 16:00:58 (UTC)

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

หากต้องการกู้คืนข้อมูลล่าสุดในฐานข้อมูลนี้ ให้ระบุ ID อินสแตนซ์ของอินสแตนซ์ต้นทางไปยังอินสแตนซ์ใหม่เพื่อสร้างการเรียก ดังที่แสดงในภาพต่อไปนี้:

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

หลังจากการกู้คืนอินสแตนซ์เสร็จสมบูรณ์ ให้เชื่อมต่อและตรวจสอบการประทับเวลาล่าสุด

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

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

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

กู้คืนเป็นข้อมูลสำรองเฉพาะ

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

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

หากต้องการกู้คืนข้อมูลสำรองนี้ ให้เพิ่มรหัสสำรองในการโทรที่สร้าง

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

หลังจากโหลดอินสแตนซ์แล้ว โปรดสังเกตว่าข้อมูลสำรองมีข้อมูลและการประทับเวลาก่อนเวลาสำรอง 15:36:15 น.

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

คืนค่าเป็นเวลาที่กำหนด

ในการระบุเวลาที่คุณต้องการกู้คืน ให้ระบุ ID อินสแตนซ์ต้นทางและเวลาที่จะกู้คืน ดังที่แสดงในภาพต่อไปนี้:

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

ในกรณีนี้ ฉันต้องการคืนค่าเป็น 15:53:00 น. หลังจากการคืนค่าเสร็จสมบูรณ์ คุณจะเห็นว่าข้อมูลมีอยู่จนถึงเวลานั้นเท่านั้น

วิธีคืนค่าข้อมูลสำรอง Postgres ใน ObjectRocket

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

บทสรุป

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

เรียนรู้เพิ่มเติมเกี่ยวกับ Rackspace DBA Services

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้