เผยแพร่ครั้งแรกเมื่อวันที่ 6 กุมภาพันธ์ 2020 ที่ ObjectRocket.com/blog
หน้าที่ในการดูแลฐานข้อมูลรวมถึงการรับและกู้คืนข้อมูลสำรองเป็นประจำ ซึ่งเป็นองค์ประกอบที่สำคัญ ObjectRocket รวมการสำรองข้อมูลรายวันด้วยการเก็บรักษาเป็นเวลาสองสัปดาห์ และเปิดใช้งานการสำรองข้อมูลเหล่านั้นโดยค่าเริ่มต้นในผลิตภัณฑ์ฐานข้อมูลทั้งหมดของเรา
ข้อเสนอ ObjectRocket PostgreSQL® (Postgres) เพิ่มโบนัส การเก็บถาวรบันทึกแบบเขียนล่วงหน้า (WAL) และความสามารถในการกู้คืนได้ตลอดเวลาภายในหน้าต่างการเก็บรักษา
โพสต์นี้จะแนะนำคุณเกี่ยวกับการกู้คืนแบบ point-in-time (PITR) ด้วย Postgres บนบริการ ObjectRocket
(/article/uploadfiles/202207/2022070812125333.png)
การสำรองข้อมูลที่ไม่ยุ่งยาก
กระบวนการสำรองข้อมูลเป็นแบบอัตโนมัติทั้งหมด และคุณไม่ต้องดำเนินการใดๆ รวมการสำรองข้อมูลรายวันไว้ในค่าใช้จ่ายของอินสแตนซ์ทั้งหมด และเราเก็บข้อมูลสำรองไว้เป็นเวลาสองสัปดาห์ตลอดเวลา คุณสามารถดูเวลาสำรองข้อมูลและสถานะก่อนหน้าในแดชบอร์ดของเราหรือโดยใช้อินเทอร์เฟซผู้ใช้ (UI) ดังที่แสดงในภาพต่อไปนี้:
ตัวเลือกการคืนค่าหลายรายการ
เมื่อคุณเจอสถานการณ์และต้องการกู้คืนข้อมูลสำรอง เรามีตัวเลือกมากมาย คุณสามารถกู้คืนได้จากจุดต่อไปนี้:
- การอัปเดต WAL ล่าสุดที่เราจัดเก็บไว้
- การสำรองข้อมูลพื้นฐานเฉพาะ
- ช่วงเวลาที่เฉพาะเจาะจง
ในทุกกรณี ระบบจะกู้คืนข้อมูลของคุณไปยังอินสแตนซ์ Postgres ใหม่ ในขณะนี้ พื้นที่จัดเก็บอินสแตนซ์ต้องมากกว่าหรือเท่ากับพื้นที่จัดเก็บในอินสแตนซ์ดั้งเดิม ในกระบวนการนี้ ซึ่งบางครั้งเรียกว่าการแยกฐานข้อมูล คุณจะกู้คืนข้อมูลของคุณไปยังอินสแตนซ์ฐานข้อมูลใหม่และแยกจากกัน ดังนั้นทั้งอินสแตนซ์เก่าและใหม่จะยังคงทำงานอยู่จนกว่าคุณจะลบออก
ขณะนี้การคืนค่าถูกเปิดเผยโดย API ของเราเท่านั้น อย่าลังเลที่จะใช้ API นี้ มิฉะนั้น ทีมสนับสนุนของเรายินดีที่จะช่วยเหลือคุณตลอดกระบวนการ เราวางแผนที่จะเพิ่มการคืนค่าให้กับ UI ในอนาคตอันใกล้นี้
คืนค่าเป็นเวลาล่าสุด
ตัวอย่างนี้ใช้ฐานข้อมูลอย่างง่ายที่เก็บการประทับเวลาและลำดับทุกนาที เพื่อให้เราเห็นจุดที่เรากู้คืน
รูปภาพต่อไปนี้แสดงฐานข้อมูล และคุณจะเห็นว่าเวลาประทับล่าสุดคือ 16:00:58 (UTC)
หากต้องการกู้คืนข้อมูลล่าสุดในฐานข้อมูลนี้ ให้ระบุ ID อินสแตนซ์ของอินสแตนซ์ต้นทางไปยังอินสแตนซ์ใหม่เพื่อสร้างการเรียก ดังที่แสดงในภาพต่อไปนี้:
หลังจากการกู้คืนอินสแตนซ์เสร็จสมบูรณ์ ให้เชื่อมต่อและตรวจสอบการประทับเวลาล่าสุด
อย่างที่คุณเห็น ข้อมูลทั้งหมดอยู่ที่นั่น และอินสแตนซ์ Postgres ใหม่จะถูกรวบรวมโดยสมบูรณ์จนถึงอินสแตนซ์ Postgres ต้นทาง
คุณอาจต้องการใช้สถานการณ์นี้เพื่อสร้างฐานข้อมูลทดสอบจากข้อมูลปัจจุบันของคุณ เพื่อให้คุณสามารถทดลองกับคุณลักษณะใหม่ได้โดยไม่เสี่ยงต่อการส่งผลกระทบต่อข้อมูลเดิมของคุณ
กู้คืนเป็นข้อมูลสำรองเฉพาะ
หากต้องการกู้คืนจากข้อมูลสำรองพื้นฐาน ให้เริ่มต้นด้วยการเลือกข้อมูลสำรองเป้าหมาย เมื่อแสดงรายการข้อมูลสำรอง โปรดสังเกตว่าข้อมูลสำรองแต่ละรายการมีรหัสเฉพาะที่คุณสามารถใช้เพื่อระบุได้ ในภาพต่อไปนี้ คุณจะเห็นว่าระบบได้สำรองข้อมูลไว้ที่ 15:36:15 (UTC):
หากต้องการกู้คืนข้อมูลสำรองนี้ ให้เพิ่มรหัสสำรองในการโทรที่สร้าง
หลังจากโหลดอินสแตนซ์แล้ว โปรดสังเกตว่าข้อมูลสำรองมีข้อมูลและการประทับเวลาก่อนเวลาสำรอง 15:36:15 น.
คืนค่าเป็นเวลาที่กำหนด
ในการระบุเวลาที่คุณต้องการกู้คืน ให้ระบุ ID อินสแตนซ์ต้นทางและเวลาที่จะกู้คืน ดังที่แสดงในภาพต่อไปนี้:
ในกรณีนี้ ฉันต้องการคืนค่าเป็น 15:53:00 น. หลังจากการคืนค่าเสร็จสมบูรณ์ คุณจะเห็นว่าข้อมูลมีอยู่จนถึงเวลานั้นเท่านั้น
หากคุณมองย้อนกลับไปที่ภาพก่อนหน้า คุณอาจสังเกตเห็นว่าเรามีการประทับเวลาอื่นเวลา 15:53:00 น. ซึ่งเกิดขึ้นที่เวลาเพียง 0.8 วินาทีหลังจาก 15:53:00 น. จึงไม่รวมอยู่ในการคืนค่านี้ คุณสามารถดูรายละเอียดอย่างละเอียดด้วย PITR เพื่อกำหนดเป้าหมายเวลาและสถานะในฐานข้อมูล
บทสรุป
คุณสามารถใช้ฟังก์ชันการกู้คืนฐานข้อมูลทั้งหมดนี้ได้ โปรดทราบว่าเราจะเพิ่มคุณสมบัติและความสามารถเพิ่มเติมในอนาคตอันใกล้นี้ เช่นเคย เราจะแจ้งข้อมูลอัปเดตให้คุณทราบ แต่โปรดแจ้งให้เราทราบหากคุณมีคำขอใดๆ
เรียนรู้เพิ่มเติมเกี่ยวกับ Rackspace DBA Services
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้