Quanto è resiliente il formato di file .7z?


5

Ho intenzione di impacchettare un sacco di dati negli archivi in ​​modo da poterli archiviare usando un servizio di archiviazione di file online e in vari backup locali - l'intenzione è che si tratterà di un deposito statico a lungo termine.

Attualmente sto pianificando di comprimerli usando 7zip in file .7z , ma preferirei comprimere l'albero delle cartelle in grandi mandrini, in modo tale che ogni archivio conterrà ~ 350 Mb-1 GB di dati ( prima della compressione) e mi chiedo come resiliente il formato è da danneggiare.

L'archivio è strutturato in modo tale da poter correggere i danni "minori"?
O se il danno è "grave", distruggerà l' intero archivio - o solo quei file nel sito specifico del danno all'interno dell'archivio?

In sostanza, la domanda nascosta qui è: dovrei impacchettare in molti piccoli archivi separati o pochi grandi?

Risposte:


7

Qualsiasi strumento di compressione sarà soggetto a problemi di corruzione su file molto grandi. La soluzione migliore è probabilmente quella di utilizzare file più piccoli, ma NON volumi di un archivio più grande, come archivi separati.

AFAIK 7zip perderà l'intero archivio in caso di danni ai file in una parte dell'archivio.


Questo. Mentre alcuni schemi sono migliori di altri, qualsiasi schema di compressione rischia di uccidere l'intero archivio a seconda del danno, e maggiore è il file, maggiore è la probabilità che ciò avvenga.
Shinrai,

1
È quello che pensavo. Vabbè, ci sono un sacco di piccoli archivi e copiosi checksum. Grazie.
DMA57361

5

Se vuoi ridondanza nella compressione, ti suggerirei di utilizzare file rar / par / par2. Questo è stato uno standard per la ridondanza di compressione per i file inviati tramite newsgroup e molte altre fonti. Dividi i tuoi file in molti file rar ... e potresti persino perdere interi file rar e recuperare ancora i tuoi dati. Per i dati che non si comprimono bene, ciò potrebbe effettivamente aumentare la dimensione totale, ma questo è il prezzo da pagare per la ridondanza.


+1 per RAR / PAR. Non c'è modo migliore.
Fosco,

5

7-zip perderà l'intero archivio anche se ci sono solo lievi corruzioni. Questo perché 7-zip utilizza solo una compressione solida , il che significa che tutti i file vengono aggregati insieme. Tuttavia, gli autori di 7-zip offrono un tutorial su come provare a riparare manualmente il tuo archivio 7zip qui .

Se vuoi essere in grado di recuperare file non danneggiati da un archivio corrotto, devi creare un archivio non solido, come uno zip con DEFLATE. Ho provato diversi formati, tra cui ARC che consente archivi non solidi, ma era meno resistente di zip. Esiste anche il formato PEA (di PEAzip) che consente l'estrazione parziale e RAR (di WinRAR) che ha specificamente un'opzione "Mantieni file rotti" per consentire l'estrazione parziale.

Puoi provare da solo vari formati di compressione e vedere se riesci ancora a decomprimere i tuoi dati utilizzando un semplice strumento Python per manomettere i dati .


1

A seconda delle esigenze, potrebbe essere meglio introdurre la ridondanza a un altro livello. Quello che voglio dire è piuttosto pensare a un'altra copia completa dei file piuttosto che cercare di alleviare il danno parziale. Quindi si controllano regolarmente i checksum di questi file e ogni volta che si presenta un problema si sostituisce l'hardware difettoso e si copia nuovamente da un backup intatto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.