ที่ทำงานเราทำการถ่ายโอนฐานข้อมูล mysql ของเราทุกคืน จากวันต่อวันฉันจะแขกที่ใกล้ถึง 90-95% ของข้อมูลที่ซ้ำกันเพิ่มขึ้นเมื่อเวลาผ่านไป (Heck ณ จุดนี้บางคนอาจจะ 99%)
การทิ้งเหล่านี้เป็นที่หนึ่งบรรทัดคือคำสั่ง mysql INSERT เดียวดังนั้นความแตกต่างเพียงอย่างเดียวคือทั้งบรรทัดและลำดับที่พวกเขาอยู่ในไฟล์ ถ้าฉันจัดเรียงมันความแตกต่างจริงจากไฟล์ต่อไฟล์จะเล็กมาก
ฉันค้นหาแล้วและฉันไม่พบวิธีการเรียงลำดับผลลัพธ์ตามดัมพ์ แต่ฉันสามารถส่งผ่านsort
คำสั่งได้ จากนั้นจะมีบล็อกยาวที่มีความยาวเหมือนกัน
ดังนั้นฉันจึงพยายามหาวิธีที่จะเก็บเฉพาะส่วนต่าง ฉันสามารถเริ่มต้นด้วยการถ่ายโอนข้อมูลหลักและแตกต่างจากนั้นในแต่ละคืน แต่ความแตกต่างจะมีขนาดใหญ่ขึ้นทุกคืน หรือฉันจะทำให้ความแตกต่างซึ่งเป็นรายบุคคลจะเล็กมาก แต่ดูเหมือนว่ามันจะใช้เวลานานในการคำนวณถ้าฉันต้องรวบรวมเจ้านายที่แตกต่างกันของซีรีส์ทั้งหมดในแต่ละคืน
เป็นไปได้หรือไม่ ด้วยเครื่องมืออะไร
แก้ไขฉันไม่ได้ถามวิธีการสำรองข้อมูล mysql ลืม mysql สักครู่ มันเป็นปลาเฮอริ่งแดง สิ่งที่ฉันอยากรู้คือวิธีการทำชุดของการกลิ้งแตกต่างจากชุดของไฟล์ ทุกคืนเราจะได้รับไฟล์ (ซึ่งเกิดขึ้นเป็นไฟล์ mysqldump ) ที่ 99% คล้ายกับไฟล์ก่อนหน้า ใช่เรา gzip พวกเขาทั้งหมด แต่มันซ้ำซ้อนที่จะมีความซ้ำซ้อนนั้นในตอนแรก สิ่งที่ฉันต้องการจริงๆคือความแตกต่างจากเมื่อคืนก่อน ... ซึ่งเพียง 1% แตกต่างจากเมื่อคืนก่อน ... และอื่น ๆ ดังนั้นสิ่งที่ฉันตามมาคือการสร้างซีรีส์ที่แตกต่างดังนั้นฉันต้องการเพียงแค่เก็บ 1% ในแต่ละคืน