Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีบีบอัด mysqldump ให้เหมาะสมที่สุด

การบีบอัด (Compression) ทำงานก็ต่อเมื่อ Client และ Server รองรับ zlib และ Client ขอการบีบอัด

ข้อดี/ข้อเสีย

ข้อดีข้อเสีย
ลดขนาด Payloadเพิ่มเวลาคำนวณ (CPU Overhead)

ปัจจัยสำคัญ

  • ขนาด Result Set - ยิ่งใหญ่ยิ่งได้ประโยชน์
  • Bandwidth และ Latency ระหว่าง Server-Client
  • Bandwidth น้อย -> ประโยชน์จากการบีบอัดมากขึ้น
  • จุดคอขวด (Bottleneck) จำกัดระดับบริการสูงสุด

การสำรองและกู้คืนข้อมูล

Rebuild ตาราง

mysqldump db_name t1 > dump.sql
mysql db_name < dump.sql

บีบอัดไฟล์ dump ขนาดใหญ่สำหรับถ่ายโอน

mysqldump -u root -p database_name | gzip > dump.gz

วิธีนี้ดีกว่าการ zip ไฟล์หลัง dump เพราะทำแบบ Streaming (Pipe) ไม่ต้องใช้พื้นที่ดิสก์ชั่วคราว

แนวทางปฏิบัติ

  • วิเคราะห์ทรัพยากร Network และ CPU ก่อนตัดสินใจ
  • เซิร์ฟเวอร์ที่เหมาะสมที่สุดควรใช้ CPU 100% ตลอดเวลา
  • ใช้ gzip ผ่าน pipe สำหรับไฟล์ใหญ่