Azioni

Differenze tra le versioni di "Archivio di parità"

Da MontelLUG WIKI.

m (Appunti ToDo)
(Aggiunte immagini)
Riga 21: Riga 21:
  
 
Supponiamo di dover inviare un messaggio dalla Voyager (ormai fuori dal sistema solare, distante oltre 23 miliardi di chilometri dalla Terra) verso la Terra: può essere un testo, un video, un audio, ... qualsiasi messaggio; di qualunque tipo di messaggio si tratti verrà prima convertito in un messaggio digitale (una fila di zero e uno: in pratica un file).
 
Supponiamo di dover inviare un messaggio dalla Voyager (ormai fuori dal sistema solare, distante oltre 23 miliardi di chilometri dalla Terra) verso la Terra: può essere un testo, un video, un audio, ... qualsiasi messaggio; di qualunque tipo di messaggio si tratti verrà prima convertito in un messaggio digitale (una fila di zero e uno: in pratica un file).
 +
[[File:Analog2Digital.png|senza_cornice|centro|Conversione da analogico in digitale]]
  
 
Questo messaggio verrà diviso in blocchi, ipotizziamo 10 blocchi.
 
Questo messaggio verrà diviso in blocchi, ipotizziamo 10 blocchi.
 +
[[File:Data.png|senza_cornice|centro|Messaggio suddiviso in 10 blocchi]]
  
 
Verrà calcolato l'archivio di parità per un 30% (ad esempio), per cui altri 3 blocchi.
 
Verrà calcolato l'archivio di parità per un 30% (ad esempio), per cui altri 3 blocchi.
 +
[[File:Messaggio + Parchive.png|senza_cornice|centro|Messaggio + Archivio di parità (30%)]]
  
 
A questo punto la Voyager invierà un "plico" di dati costituito da 13 blocchi.
 
A questo punto la Voyager invierà un "plico" di dati costituito da 13 blocchi.

Versione delle 12:37, 19 gen 2022

Stesura in corso

La definizione formale potete trovarla in rete (anche su Wikipedia), ma proviamo ad avvicinarci in modo meno formale, più pratico, più intuitivo a questo concetto "magico".

Un archivio di parità (o parity archive in inglese, o parchive) possiamo immaginarlo come una riserva di blocchi che ci consente di verificare l'integrità di un file e di ripristinare, se necessario, lo stato di un file (o un gruppo di file) nel caso in cui questi vengano per qualche motivo corrotti.

Infatti, oltre ad offire funzionalità di controllo dell'integrità dei dati, ne consente anche il recupero (vedremo i limiti).

Se conoscete già le funzioni hash (sha1, sha256, sha512, md5, ...), immaginate di avere un file e calcolare il suo checksum sha1: il risultato vi consentirà di verificare l'integrità del file nel tempo.

E quando il checksum non corrisponde? Niente, con sha1 (e le altre funzioni di hash) potete solo prendere atto del fatto che il file è stato modificato.

Con gli archivi di parità, invece, oltre a verificarne l'integrità, è anche possibile ripristinare il file al momento in cui è stato generato l'archivio di parità.

Un po' di storia

Gli archivi di parità - parchive - sono un'implementazione degli algoritmi di Irving S. Reed e Gustave Solomon, due matematici ed ingegneri del MIT, che nel 1960 svilupparono una serie di algoritmi per la correzione degli errori.

Il risultato del loro lavoro fu eccezionale: basti pensare che i loro algoritmi furono applicati per le comunicazioni tra le sonde Voyager e la Terra, nel DAT e sono tutt'ora utilizzati nel CD, nel DVD, nei codici a barre a due e tre dimensioni (sì, anche nei QR Code), nel RAID 6 e perfino nel Digitale Terrestre (DVB).

Ma in pratica, cosa fa?

Supponiamo di dover inviare un messaggio dalla Voyager (ormai fuori dal sistema solare, distante oltre 23 miliardi di chilometri dalla Terra) verso la Terra: può essere un testo, un video, un audio, ... qualsiasi messaggio; di qualunque tipo di messaggio si tratti verrà prima convertito in un messaggio digitale (una fila di zero e uno: in pratica un file).

Conversione da analogico in digitale

Questo messaggio verrà diviso in blocchi, ipotizziamo 10 blocchi.

Messaggio suddiviso in 10 blocchi

Verrà calcolato l'archivio di parità per un 30% (ad esempio), per cui altri 3 blocchi.

Messaggio + Archivio di parità (30%)

A questo punto la Voyager invierà un "plico" di dati costituito da 13 blocchi.

"Ah, e dov'è il vantaggio? Dovremmo provare a rendere il pacchetto più piccolo, non più pesante!"

È questa la magia degli algoritmi di Reed-Solom: sulla Terra sarà sufficiente ricevere 10 blocchi qualsiasi dei 13 inviati dalla Voyager per essere in grado di ricostruire il messaggio originario.


ToDo:

  • applicazioni casalinghe degli archivi di parità
  • protezione dei dati (es.: backup)
  • conservazione degli archivi di parità
  • esempi da riga di comando
  • aggiungere immagini esplicative
  • aggiungere collegamento a Parchive su ArchLinux