มีโปรแกรมบีบอัดหรือโปรแกรมจัดเก็บถาวรสำหรับ Windows ที่ใช้การขจัดข้อมูลซ้ำซ้อนหรือไม่ [ปิด]


12

ฉันกำลังมองหาโปรแกรมผู้จัดทำที่สามารถทำการลดความซ้ำซ้อน (dedupe) ในไฟล์ที่ถูกเก็บถาวรได้ เมื่อทำการคลายไฟล์เก็บถาวรซอฟต์แวร์จะลบไฟล์ใด ๆ ที่ถูกลบระหว่างกระบวนการบีบอัด

จนถึงตอนนี้ฉันได้พบ:

ใครรู้เรื่องอื่น ๆ บ้าง?

นี่อาจจะเป็นส่วนเสริมที่ดีเลิศสำหรับ 7-zip

คำตอบ:


12

ผู้จัดทำสมัยใหม่เกือบทั้งหมดทำสิ่งนี้สิ่งที่แตกต่างเพียงอย่างเดียวคือพวกมันอ้างถึงสิ่งนี้ว่าเป็นไฟล์ "ทึบ" ในไฟล์ทั้งหมดจะถูกต่อกันเป็นสตรีมเดียวก่อนที่จะถูกป้อนเข้าสู่อัลกอริทึมการบีบอัด สิ่งนี้แตกต่างจากการบีบอัดไฟล์ซิปมาตรฐานซึ่งบีบอัดไฟล์แต่ละไฟล์ทีละไฟล์และเพิ่มไฟล์บีบอัดแต่ละไฟล์ลงในไฟล์เก็บถาวร

7-zip โดยธรรมชาติของมันได้อย่างมีประสิทธิภาพการทำซ้ำ ตัวอย่างเช่น 7-Zip จะค้นหาไฟล์จะจัดเรียงไฟล์ตามประเภทไฟล์และชื่อไฟล์ที่คล้ายกันดังนั้นไฟล์ทั้งสองประเภทเดียวกันและข้อมูลจะถูกวางเคียงข้างกันในสตรีมไปยังอัลกอริธึมของคอมเพรสเซอร์ จากนั้นคอมเพรสเซอร์จะเห็นข้อมูลจำนวนมากที่ได้เห็นเมื่อเร็ว ๆ นี้และไฟล์สองไฟล์เหล่านี้จะเห็นประสิทธิภาพการบีบอัดที่เพิ่มขึ้นอย่างมากเมื่อเทียบกับการบีบอัดไฟล์แบบหนึ่งต่อหนึ่ง

Linux ได้เห็นพฤติกรรมที่คล้ายกันเป็นเวลานานผ่านความชุกของรูปแบบ ".tgz" ของพวกเขา (หรือ ". tar.gz" เพื่อใช้รูปแบบเต็ม) เนื่องจาก tar เป็นเพียงการรวมไฟล์ทั้งหมดไว้ในสตรีมเดียว (แม้ว่าจะไม่มี การจัดเรียงและการจัดกลุ่มไฟล์) จากนั้นทำการบีบอัดด้วย gzip สิ่งที่ขาดหายไปคือการเรียงลำดับที่ 7-zip กำลังทำอยู่ซึ่งอาจลดประสิทธิภาพลงเล็กน้อย แต่ก็ยังดีกว่าการบีบอัดไฟล์ที่บีบอัดทีละไฟล์เข้าด้วยกันในแบบที่ซิปทำ


เรียนรู้สิ่งใหม่ทุกวัน ฉันไม่ได้ตระหนักว่า zip บีบอัดไฟล์แต่ละไฟล์แยกกัน แต่หลังจากรันการทดสอบสองสามครั้งบนคอมพิวเตอร์ของฉันฉันรู้ว่าคุณถูกต้องแน่นอน น่าสนใจมากขอบคุณ!
CenterOrbit

7ip ทำงานอย่างเป็นธรรมในการขจัดข้อมูลซ้ำซ้อน แต่ก็ออกแบบมาเพื่อบีบอัดข้อมูลที่ไม่ซ้ำกันอย่างมีประสิทธิภาพและใช้ CPU และหน่วยความจำจำนวนมากเพื่อให้บรรลุซึ่งทำให้วิธีนี้ไม่มีประสิทธิภาพในการกำจัดข้อมูลซ้ำซ้อน หากคุณบีบอัดไฟล์ 100MB ที่เหมือนกันสองไฟล์มันจะมีปัญหามากในการลองและบีบอัดไฟล์แรกอย่างมีประสิทธิภาพและจากนั้น (ถ้าขนาดพจนานุกรมใหญ่พอ) จะบีบอัดไฟล์ที่สองให้ซ้ำกันเป็นไฟล์แรก
mwfearnley

ไม่ gzip มี.tar.gzเพียงการบีบอัดบล็อกขนาดค่อนข้างเล็ก (เช่น 900KB) ในช่วงเวลาที่อิสระอย่างสมบูรณ์จากแต่ละอื่น ๆ ดังนั้นจึงไม่ได้มีความสามารถในการ deduplicate ขนาดใหญ่ แต่ที่เหมือนกันทั้งสองไฟล์ (เช่นภาพคู่ 4MB)?
binki

เช่น, 7z สามารถลบข้อมูลซ้ำซ้อนระหว่างไฟล์ขนาดใหญ่ได้ แต่ gzip ไม่ได้: gist.github.com/binki/4cf98fb4f1f4aa98ee4a00edaf6048fa
binki

วิธีที่น่าสนใจคือ 'git add' ไฟล์จากนั้นทำการบีบอัดโฟลเดอร์. git
wasotung

4

ไม่มีจุดในการใช้การขจัดข้อมูลซ้ำซ้อนกับกระบวนการบีบอัด อัลกอริธึมการบีบอัดส่วนใหญ่สร้างสิ่งที่เรียกว่า 'พจนานุกรม' ซึ่งจะค้นหาบิตที่พบบ่อยที่สุดหรือนำข้อมูลบิตมาใช้ซ้ำ จากนั้นจะเป็นการอ้างอิงรายการพจนานุกรมแทนการเขียนคำว่า "ทั้งหมด" อีกครั้ง ด้วยวิธีนี้กระบวนการบีบอัดส่วนใหญ่จะตัดข้อมูลซ้ำซ้อนหรือข้อมูลซ้ำซ้อนจากไฟล์ทั้งหมดแล้ว

ตัวอย่างเช่นถ้าคุณใช้ไฟล์ 1 MB และคัดลอก 100 ครั้งด้วยชื่อที่แตกต่างกันในแต่ละครั้ง (รวมพื้นที่ดิสก์ 100 MB) จากนั้นคุณบีบอัดไฟล์ในไฟล์ 7zip หรือ zip คุณจะมีไฟล์ซิปทั้งหมด 1 MB นี่เป็นเพราะข้อมูลทั้งหมดของคุณถูกใส่ไว้ในรายการพจนานุกรมหนึ่งรายการและอ้างอิง 100 ครั้งซึ่งใช้พื้นที่น้อยมาก

นี่เป็นคำอธิบายง่ายๆว่าเกิดอะไรขึ้น แต่ประเด็นก็ยังคงถ่ายทอดได้ดี


1
เนื่องจากขนาดพจนานุกรมมีข้อ จำกัด อย่างมากสำหรับคลังเก็บการบีบอัดส่วนใหญ่จึงไม่สามารถใช้งานได้ทุกวัน ลองใช้ไฟล์ 50MB และขนาดที่บีบอัดของคุณจะเพิ่มเป็นสองเท่าด้วยไฟล์อินพุตที่เหมือนกันสองไฟล์
Chaos_99

1
ไฟล์ซิปซึ่งแตกต่างจากไฟล์ 7zip ไม่รองรับการคัดลอกไฟล์ซ้ำซ้อน ไฟล์ซิปบีบอัดและจัดเก็บแต่ละไฟล์แยกกันดังนั้นไฟล์ที่ซ้ำกันจะถูกเก็บไว้หลายครั้งในที่เก็บถาวร
mwfearnley

1
ในขณะที่ 7zip รองรับการคัดลอกไฟล์ซ้ำซ้อนมันถูกออกแบบมาเพื่อค้นหาและบีบอัดการแข่งขันที่สั้นกว่ามาก อัลกอริทึมของมันช้ากว่ามากและมีหน่วยความจำมากกว่าที่เป็นไปได้สำหรับสิ่งที่ออกแบบมาเพื่อค้นหาการทำสำเนาข้อมูลขนาดใหญ่
mwfearnley

4

7-Zip, zip, gzip และผู้จัดเก็บอื่น ๆ ไม่ตรวจจับพื้นที่ที่เหมือนกันซึ่งอยู่ไกลจากแต่ละคนเช่นเพียงไม่กี่เมกะไบต์หรือสูงกว่าภายในไฟล์เดียวกันหรือวางในตำแหน่งที่แตกต่างกันในไฟล์ต่าง ๆ

ดังนั้นไม่ผู้จัดเก็บปกติไม่สามารถใช้งาน exdupe และอื่น ๆ ได้ในบางไซต์ คุณสามารถเห็นสิ่งนี้หากคุณบีบอัดเครื่องเสมือนหรือสิ่งอื่น ๆ


1
สิ่งนี้ถูกต้อง ทันทีที่ปริมาณข้อมูลที่ไม่ซ้ำเกินขนาดพจนานุกรมของเครื่องอัดการบีบอัดจะลดลง exdupe นำเสนอประสิทธิภาพที่เหนือกว่าสำหรับปริมาณข้อมูลขนาดใหญ่
usr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.