pg_start_backup
จะดำเนินการจุดตรวจตามบันทึก dezso สิ่งนี้มีผลกระทบ แต่ฐานข้อมูลของคุณดำเนินการจุดตรวจอย่างสม่ำเสมออยู่แล้วและต้องทำเช่นนั้นเพื่อให้สามารถทำงานได้ดังนั้นจึงไม่เป็นปัญหาสำหรับคุณอย่างชัดเจน จุดตรวจก่อนหมายถึงมีการสะสมข้อมูลน้อยลงหมายความว่าหากมีสิ่งใดก็ตามที่จุดตรวจสอบpg_start_backup
จะได้รับผลกระทบต่ำกว่าปกติ
ที่คุณต้องกังวลคือ rsync หรือpg_basebackup
ขั้นตอนที่เทียบเท่า การอ่าน I / O จากนี้จะไม่เลวร้ายเกินไปเนื่องจากมันเป็นลำดับ แต่มันอาจจะส่งผลเสียต่อประสิทธิภาพการทำงานของ I / O ของฐานข้อมูลของคุณและมันก็มีแนวโน้มที่จะผลักดันข้อมูลออกมาจากแคช RAM ร้อนน้อย - ข้อมูลที่ใช้แล้วทำให้แคชสั่นเนื่องจากข้อมูลที่ต้องการมากขึ้นจะถูกอ่านอีกครั้ง
คุณสามารถใช้nice
และionice
เพื่อช่วย จำกัด ผลกระทบ I / O (แต่ไม่ใช่ผลกระทบของแคช); อย่างไรก็ตามมีค่าใช้จ่าย การสำรองข้อมูลจะใช้เวลานานและจนกว่าคุณจะเสร็จสิ้นการสำรองข้อมูลและเรียกใช้pg_stop_backup
ระบบของคุณ - ตามที่ฉันเข้าใจ - การสะสม WAL จะไม่สามารถลบสะสมหนี้จุดตรวจสอบสำหรับจุดตรวจใหญ่เมื่อสิ้นสุดการสำรองข้อมูลและกำลังรวบรวมตารางและดัชนี ขยายเพราะมันไม่สามารถล้างแถวที่ตายแล้ว ดังนั้นคุณจึงไม่สามารถที่จะสำรองข้อมูลได้ตลอดไปโดยเฉพาะถ้าคุณมีโต๊ะปั่นสูงมาก
ในที่สุดก็ยากที่จะพูดว่าคุณสามารถใช้งานได้อย่างปลอดภัยpg_start_backup
และpg_stop_backup
สำรองข้อมูลร้อนในสภาพแวดล้อมของคุณ คนส่วนใหญ่สามารถ แต่ถ้าคุณอยู่ใกล้กับสิ่งที่ฮาร์ดแวร์ของคุณสามารถทำได้มีความต้องการเวลาที่ จำกัด ไม่สามารถเสี่ยงต่อการแผงลอยและมีโต๊ะปั่นสูงมากเช่นเดียวกับตารางขนาดใหญ่มากมันอาจจะลำบาก .
น่าเสียดายที่คุณต้องทดสอบและดู
หากคุณสามารถทำได้อาจเป็นการดีถ้าคุณเปิดCHECKPOINT
ใช้สแนปชอตอะตอมของไดรฟ์ข้อมูลที่ฐานข้อมูลของคุณเปิดอยู่แทนที่จะใช้ LVM เครื่องมือของ SAN EBS หรืออะไรก็ตามที่คุณใช้ หากคุณสามารถทำได้คุณสามารถคัดลอกสแนปชอตได้ตามต้องการ วิธีนี้ไม่เหมาะสำหรับการสำรองข้อมูลพื้นฐานสำหรับ PITR / โหมดเตรียมพร้อม / โหมดเตรียมพร้อม แต่เป็นวิธีการสำรองข้อมูลแบบสแตติกที่ดีเลิศและมีผลกระทบต่อระบบน้อยกว่ามาก คุณสามารถทำได้หากสแนปชอตของคุณเป็นแบบอะตอมและฐานข้อมูลทั้งหมดของคุณรวมถึง WAL จะอยู่ในวอลุ่มเดียว
ความเป็นไปได้หนึ่งที่ฉันยังไม่ได้ตรวจสอบคือการรวมสองวิธี มันเกิดขึ้นกับฉันว่าอาจเป็นไปได้ ( ยังไม่ทดลองและอาจผิดและไม่ปลอดภัยฉันยังไม่รู้):
pg_start_backup
- ทริกเกอร์สแน็ปช็อตของพื้นที่ตารางทั้งหมด datadir หลักและปริมาณ xlog
pg_stop_backup
- คัดลอก WAL จนถึงไฟล์เก็บถาวรสุดท้ายจาก
pg_stop_backup
- คัดลอกข้อมูลจากสแน็ปช็อตวอลุ่ม
โดยพื้นฐานแล้วความคิดคือการลดระยะเวลาที่ฐานข้อมูลต้องชะลอการตรวจสอบจุดโดยใช้เวลาของแต่ละเล่มที่คุณสามารถคัดลอกในเวลาว่าง