การสำรองข้อมูลทางกายภาพและเชิงตรรกะเป็นสองประเภทพื้นฐานของการสำรองข้อมูลที่มีความแตกต่างและกรณีการใช้งานที่แตกต่างกันโดยเฉพาะอย่างยิ่งเมื่อจัดการกับฐานข้อมูล MySQL ในบริการฐานข้อมูลเชิงสัมพันธ์ของ Amazon Web Services (AWS) (RDS) ด้านล่างนี้เป็นคำอธิบายเชิงลึกและการเปรียบเทียบการสำรองข้อมูลทางกายภาพกับตรรกะสำหรับ MySQL บน AWS RDS
การสำรองข้อมูลทางกายภาพ
การสำรองข้อมูลทางกายภาพประกอบด้วยสำเนาที่แน่นอนของไฟล์ฐานข้อมูลและไดเรกทอรีที่เก็บข้อมูลดิบ การสำรองข้อมูลเหล่านี้เป็นเหมือนภาพรวมของฐานข้อมูลจริงที่ระดับระบบไฟล์ ในการสำรองข้อมูลทางกายภาพสำเนาของไฟล์เช่นไฟล์ข้อมูลฐานข้อมูลตารางพื้นที่ตารางไฟล์บันทึกและไฟล์การกำหนดค่า โดยทั่วไปจะทำโดยการคัดลอกไฟล์โดยตรงจากตำแหน่งที่เก็บฐานข้อมูล การสำรองข้อมูลเป็นกระจกของสถานะทางกายภาพของฐานข้อมูลในขณะที่สำรองข้อมูล
ลักษณะของการสำรองข้อมูลทางกายภาพ:
- ความสมบูรณ์และความเร็ว: การสำรองข้อมูลทางกายภาพนั้นเร็วมากเพราะพวกเขาเกี่ยวข้องกับการคัดลอกไฟล์ตามที่เกิดขึ้นโดยไม่มีการแปลงหรือการตีความ สิ่งนี้ทำให้เหมาะสำหรับฐานข้อมูลขนาดใหญ่ที่การสำรองข้อมูลและการกู้คืนอย่างรวดเร็วมีความสำคัญ
-ความกะทัดรัด: เนื่องจากเป็นสำเนาไบต์สำหรับไบต์การสำรองข้อมูลทางกายภาพมักจะกะทัดรัดมากกว่าการสำรองข้อมูลเชิงตรรกะซึ่งแปลงข้อมูลเป็นคำสั่ง SQL หรือรูปแบบข้อความ
- การกู้คืนความละเอียด: การสำรองข้อมูลทางกายภาพมักจะให้การกู้คืนที่ฐานข้อมูลหรือระดับตารางทั้งหมด การกู้คืนความละเอียดอาจแตกต่างกันไปตามเครื่องมือจัดเก็บข้อมูลที่ใช้
- การฟื้นฟู: การกู้คืนการสำรองข้อมูลทางกายภาพเกี่ยวข้องกับการคัดลอกไฟล์สำรองกลับไปยังตำแหน่งเดิม สิ่งนี้สามารถตรงไปตรงมา แต่ต้องใช้ชุดไฟล์ทั้งหมดให้เหมือนเดิมเนื่องจากไฟล์ที่ขาดหายไปสามารถป้องกันการกู้คืนได้อย่างเต็มรูปแบบ
-สิ่งแวดล้อมที่เฉพาะเจาะจง: การสำรองข้อมูลทางกายภาพรวมถึงข้อมูลที่เกี่ยวข้องกับอินสแตนซ์เช่นเส้นทางไฟล์และข้อมูลเฉพาะระบบดังนั้นโดยทั่วไปแล้วจะถูกกู้คืนไปยังสภาพแวดล้อมที่คล้ายกับที่มีการสำรองข้อมูล
- การสำรองข้อมูลแบบออฟไลน์หรือแบบหยุดนิ่ง: โดยทั่วไปการสำรองข้อมูลทางกายภาพต้องการฐานข้อมูลที่จะออฟไลน์หรืออยู่ในสถานะที่สอดคล้องกัน (เช่นสแน็ปช็อต) เพื่อหลีกเลี่ยงการจับภาพไฟล์ที่เขียนกลางซึ่งอาจทำให้การสำรองข้อมูลเสียหาย อย่างไรก็ตามมีเครื่องมือที่สามารถทำการสำรองข้อมูลทางกายภาพออนไลน์ได้โดยประสานงานกับฐานข้อมูลเช่น Percona Xtrabackup
ข้อ จำกัด ในการสำรองข้อมูลทางกายภาพด้วย AWS RDS สำหรับ MySQL:
- AWS RDS ไม่อนุญาตให้มีการสำรองข้อมูลทางกายภาพแบบดั้งเดิม (สำเนาระดับระบบไฟล์โดยตรง) เนื่องจากโครงสร้างพื้นฐานพื้นฐานได้รับการจัดการและไม่ได้ให้การเข้าถึงระบบไฟล์
- เครื่องมือเช่น Percona Xtrabackup ซึ่งอำนวยความสะดวกในการสำรองข้อมูลทางกายภาพสำหรับการติดตั้งในสถานที่หรือ Amazon EC2 MySQL ไม่สามารถใช้งานได้โดยตรงกับอินสแตนซ์ RDS
- แทน AWS RDS เสนอความสามารถในการถ่ายภาพซึ่งเป็นรูปแบบของการสำรองข้อมูลทางกายภาพ แต่มีการจัดการที่แตกต่างกัน สแน็ปช็อตจับอินสแตนซ์ฐานข้อมูลทั้งหมด ณ จุดหนึ่งและจัดเก็บและจัดการโดย AWS
- มีวิธีการกู้คืนข้อมูลการสำรองข้อมูลทางกายภาพไปยัง RDS จาก Amazon S3 แต่ได้รับการจัดการเป็นการกู้คืนจาก S3 ไม่ใช่การสำรองข้อมูลระบบดิบ
การสำรองข้อมูลเชิงตรรกะ
การสำรองข้อมูลแบบลอจิคัลสกัดโครงสร้างของฐานข้อมูลและเนื้อหาลงในคำสั่งเชิงตรรกะโดยทั่วไปคำสั่ง SQL เช่นสร้างตารางและแทรกคำสั่งที่สามารถสร้างวัตถุฐานข้อมูลและข้อมูลเมื่อทำการสำรองข้อมูล การสำรองข้อมูลเหล่านี้มักจะอยู่ในรูปแบบของไฟล์ข้อความหรือไฟล์การถ่ายโอนข้อมูลแบบลอจิคัลไบนารี
ลักษณะของการสำรองข้อมูลเชิงตรรกะ:
-รูปแบบ: การสำรองข้อมูลเชิงตรรกะนั้นไม่ขึ้นกับแพลตฟอร์มและมีเฉพาะสคีมาฐานข้อมูลและข้อมูลโดยไม่มีรายละเอียดการจัดเก็บข้อมูลระดับต่ำเช่นไฟล์ข้อมูลหรือบันทึก
- ความสามารถในการใช้งานและการพกพา: เนื่องจากการสำรองข้อมูลเชิงตรรกะมีคำสั่งในการสร้างวัตถุฐานข้อมูลใหม่และแทรกข้อมูลจึงสามารถกู้คืนได้ในสถาปัตยกรรมฮาร์ดแวร์ที่แตกต่างกันรุ่น MySQL หรือสภาพแวดล้อมคลาวด์ทำให้สามารถพกพาได้สูง
- Granularity: การสำรองข้อมูลเชิงตรรกะสามารถนำมาใช้ในระดับเม็ดต่าง ๆ เช่นฐานข้อมูลทั้งหมด, schemas เฉพาะหรือแต่ละตาราง
- การสำรองข้อมูลออนไลน์: การสำรองข้อมูลแบบลอจิคัลสามารถทำได้ในขณะที่ฐานข้อมูลกำลังทำงานโดยไม่ต้องหยุดทำงานโดยสอบถามฐานข้อมูลสำหรับโครงสร้างและข้อมูล
- ขนาดและความเร็ว: การสำรองข้อมูลเชิงตรรกะมีแนวโน้มที่จะช้าลงและสร้างไฟล์ที่มีขนาดใหญ่กว่าการสำรองข้อมูลทางกายภาพเนื่องจากข้อมูลถูกแปลงเป็นรูปแบบเชิงตรรกะและจะต้องส่งออกผ่านเอ็นจินฐานข้อมูล
- เครื่องมือ: เครื่องมือทั่วไปสำหรับการสำรองข้อมูลเชิงตรรกะของ MySQL ได้แก่ MySqldump, MyDumper และ SELECT ... เข้าสู่คำสั่ง SQL OutFile
- การกู้คืน: การกู้คืนการสำรองข้อมูลเชิงตรรกะเกี่ยวข้องกับการเรียกใช้สคริปต์ SQL หรือคำสั่งบนอินสแตนซ์ MySQL การสร้างโครงสร้างฐานข้อมูลใหม่อย่างมีประสิทธิภาพและข้อมูล repopulating
- การแก้ไข: การสำรองข้อมูลเชิงตรรกะเปิดใช้งานการแก้ไขก่อนการกู้คืนเช่นการเปลี่ยนค่าข้อมูลหรือการปรับโครงสร้างตารางที่มีประโยชน์สำหรับการย้ายถิ่นหรือการแปลง
AWS RDS และการสำรองข้อมูลเชิงตรรกะ
- บน AWS RDS สำหรับ MySQL การสำรองข้อมูลเชิงตรรกะมักจะทำโดยใช้ MySQLDUMP หรือเครื่องมือที่คล้ายกันเรียกใช้จากไคลเอนต์ภายนอกหรืออินสแตนซ์ EC2 เนื่องจากคุณไม่สามารถเข้าถึงระบบไฟล์พื้นฐานได้
- การสำรองข้อมูลเชิงตรรกะเหมาะสำหรับชุดข้อมูลขนาดเล็กหรือสำหรับสถานการณ์ที่ต้องพกพาข้อมูลและสคีมาในสภาพแวดล้อมที่แตกต่างกัน
- การสำรองข้อมูลอัตโนมัติและสแน็ปช็อตจาก AWS เสริมการสำรองข้อมูลเชิงตรรกะ แต่การสำรองข้อมูลเชิงตรรกะให้ความยืดหยุ่นมากขึ้นในการกู้คืนข้อมูลบางส่วนหรือการโยกย้าย
การเปรียบเทียบในบริบท AWS RDS
- การสำรองข้อมูลทางกายภาพสำหรับ RDS ส่วนใหญ่จะได้รับการจัดการเป็นสแน็ปช็อตอัตโนมัติที่จับสถานะอินสแตนซ์ฐานข้อมูลทั้งหมดและได้รับการจัดการโดย AWS AWS ไม่อนุญาตให้มีการสำรองข้อมูลทางกายภาพแบบดั้งเดิมโดยการคัดลอกไฟล์ฐานข้อมูลโดยตรง
- การสำรองข้อมูลเชิงตรรกะช่วยให้ผู้ใช้สามารถควบคุมและยืดหยุ่นในการส่งออกและโยกย้ายเนื้อหาฐานข้อมูล แต่มีข้อ จำกัด ในความเร็วและต้องใช้เวลามากขึ้นในการกู้คืนชุดข้อมูลขนาดใหญ่
- สำหรับการกู้คืนภัยพิบัติและการกู้คืนอย่างรวดเร็วของอินสแตนซ์ทั้งหมดสแน็ปช็อตอัตโนมัติของ AWS และคุณสมบัติการสำรองข้อมูลทางกายภาพมีประสิทธิภาพมากขึ้น
- สำหรับการโยกย้ายการแปลงข้อมูลหรือการกู้คืนบางส่วนต้องการการสำรองข้อมูลเชิงตรรกะ
- ขนาดการสำรองข้อมูลโดยทั่วไปจะมีขนาดเล็กลงและความเร็วสำรองเร็วขึ้นสำหรับการสำรองข้อมูลทางกายภาพ แต่การสำรองข้อมูลเชิงตรรกะมีความสามารถในการพกพาและการปรับเปลี่ยนที่ดีขึ้น
- การสำรองข้อมูลเชิงตรรกะอนุญาตให้สำรองข้อมูลแบบเลือกและการกู้คืนบางส่วนในขณะที่การสำรองข้อมูลทางกายภาพจัดการการกู้คืนฐานข้อมูลที่สมบูรณ์
โดยสรุปการสำรองข้อมูลทางกายภาพของ MySQL บน AWS RDS เกี่ยวข้องกับระบบสแน็ปช็อตอัตโนมัติเป็นหลักซึ่งจัดทำโดย AWS ซึ่งคัดลอกไฟล์ข้อมูลฐานข้อมูลที่ระดับการจัดเก็บเพื่อการกู้คืนที่รวดเร็วและสมบูรณ์ของอินสแตนซ์ การสำรองข้อมูลเชิงตรรกะเกี่ยวข้องกับการส่งออกสคีมาและข้อมูลของฐานข้อมูลผ่านคำสั่ง SQL ทำให้การเคลื่อนไหวของข้อมูลที่ยืดหยุ่นและการเปลี่ยนแปลง แต่โดยปกติจะมีค่าใช้จ่ายในการสำรองข้อมูลและเวลาในการฟื้นฟูที่ยาวนานขึ้น เนื่องจากข้อ จำกัด การจัดการ AWS RDS การสำรองข้อมูลทางกายภาพโดยตรงที่ระดับไฟล์เป็นไปไม่ได้ในอินสแตนซ์ RDS นำทางผู้ใช้ไปยังสแน็ปช็อตสำหรับการสำรองข้อมูลทางกายภาพและ MySqldump หรือเครื่องมือที่คล้ายกันสำหรับการสำรองข้อมูลเชิงตรรกะ การสำรองข้อมูลทั้งสองประเภทให้บริการบทบาทที่แตกต่างกันและอาจรวมกันในกลยุทธ์การสำรองข้อมูลที่ครอบคลุมขึ้นอยู่กับความต้องการทางธุรกิจ ความแตกต่างนี้ช่วยแนะนำวิธีการสำรองข้อมูลจัดเก็บและคืนค่าในสภาพแวดล้อม AWS RDS MySQL
แนวคิดเหล่านี้มีพื้นฐานมาจากวิธีการสำรองข้อมูลของ MySQL โดยรวมและปรับให้เข้ากับข้อ จำกัด และคุณสมบัติของสภาพแวดล้อมที่ได้รับการจัดการ AWS RDS