Τι είναι η συμπύκνωση δεδομένων;
Οι μέθοδοι συμπίεσης δεδομένων μπορούν να χρησιμοποιηθούν για τη μείωση του όγκου των δεδομένων που αποθηκεύονται φυσικά. Αυτό εξοικονομεί χώρο αποθήκευσης και κόστος.
Τι σημαίνει «μείωση δεδομένων»;
Ο όρος «μείωση δεδομένων» καλύπτει διάφορες μεθόδους που χρησιμοποιούνται για τη βελτιστοποίηση της χωρητικότητας. Οι μέθοδοι αυτές αποσκοπούν στη μείωση του όγκου των δεδομένων που αποθηκεύονται. Με τον όγκο των δεδομένων να αυξάνεται παγκοσμίως, η μείωση των δεδομένων είναι απαραίτητη για τη διασφάλιση της αποδοτικής χρήσης των πόρων και της οικονομικής αποδοτικότητας κατά την αποθήκευση δεδομένων.
Η μείωση του όγκου των δεδομένων μπορεί να επιτευχθεί μέσω της συμπίεσης και της απομάκρυνσης διπλών δεδομένων. Ενώ η συμπίεση χωρίς απώλειες αξιοποιεί τις επαναλήψεις που υπάρχουν μέσα σε ένα αρχείο για τη συμπίεση των δεδομένων, οι αλγόριθμοι απομάκρυνσης διπλών δεδομένων συγκρίνουν τα δεδομένα μεταξύ διαφορετικών αρχείων για να αποφύγουν τις επαναλήψεις.
Τι είναι η απομάκρυνση διπλών δεδομένων;
Η αποσυμπίεση είναι μια διαδικασία μείωσης του όγκου των δεδομένων που βασίζεται ουσιαστικά στην αποφυγή της επανάληψης δεδομένων στο σύστημα αποθήκευσης. Μπορεί να εφαρμοστεί είτε στον προορισμό αποθήκευσης είτε στην πηγή των δεδομένων. Χρησιμοποιείται ένας μηχανισμός αποσυμπίεσης, ο οποίος αξιοποιεί ειδικούς αλγόριθμους για τον εντοπισμό και την εξάλειψη επαναλαμβανόμενων αρχείων ή μπλοκ δεδομένων. Ο κύριος τομέας εφαρμογής της αποσυμπίεσης είναι η δημιουργία αντιγράφων ασφαλείας δεδομένων.
Σκοπός της μείωσης των δεδομένων μέσω της απομάκρυνσης διπλών εγγραφών είναι να αποθηκεύονται στα μη πτητικά μέσα αποθήκευσης μόνο όσες πληροφορίες είναι απαραίτητες για την ανασύσταση ενός αρχείου χωρίς απώλειες. Όσο περισσότερα διπλά αντίγραφα διαγράφονται, τόσο μικρότερος είναι ο όγκος των δεδομένων που πρέπει να αποθηκευτεί ή να μεταφερθεί.
Ο εντοπισμός των διπλών αρχείων μπορεί να γίνει σε επίπεδο αρχείου με το Git ή το Dropbox, για παράδειγμα. Ωστόσο, μια πιο αποτελεσματική μέθοδος είναι η χρήση αλγορίθμων απομάκρυνσης διπλών αρχείων, οι οποίοι λειτουργούν σε επίπεδο υπο-αρχείου. Για να γίνει αυτό, τα αρχεία χωρίζονται πρώτα σε μπλοκ δεδομένων (chunks) και τους αποδίδονται μοναδικά αθροίσματα ελέγχου ή τιμές κατακερματισμού. Η βάση δεδομένων παρακολούθησης, η οποία περιέχει κάθε άθροισμα ελέγχου, λειτουργεί ως κεντρική εποπτική οντότητα.
Οι μέθοδοι αποσυμπίεσης με βάση τα μπλοκ μπορούν να χωριστούν σε δύο κατηγορίες:
- Σταθερό μήκος μπλοκ: Τα αρχεία χωρίζονται σε τμήματα ακριβώς ίδιου μήκους, με βάση το μέγεθος του cluster του αρχείου ή του συστήματος RAID (συνήθως 4 KB)
- Μεταβλητό μήκος μπλοκ: Ο αλγόριθμος χωρίζει τα δεδομένα σε διαφορετικά μπλοκ, το μήκος των οποίων ποικίλλει ανάλογα με τον τύπο των δεδομένων που πρόκειται να υποβληθούν σε επεξεργασία.
Ο τρόπος με τον οποίο χωρίζονται τα μπλοκ έχει τεράστια επίδραση στην αποδοτικότητα της αποσυμπίεσης δεδομένων. Αυτό γίνεται ιδιαίτερα αισθητό όταν τα αρχεία στα οποία έχει εφαρμοστεί αποσυμπίεση υποστούν μεταγενέστερες τροποποιήσεις. Όταν χρησιμοποιούνται σταθερά μεγέθη μπλοκ, αν ένα αρχείο τροποποιηθεί, όλα τα επόμενα τμήματα ταξινομούνται επίσης ως νέα από τον αλγόριθμο αποσυμπίεσης, λόγω της μετατόπισης των ορίων των μπλοκ. Αυτό αυξάνει τον υπολογιστικό φόρτο και τη χρήση του εύρους ζώνης.
Αν, από την άλλη πλευρά, ένας αλγόριθμος χρησιμοποιεί μεταβλητά όρια τμημάτων, οι τροποποιήσεις ενός μεμονωμένου τμήματος δεδομένων δεν επηρεάζουν τα επόμενα τμήματα. Αντίθετα, το τροποποιημένο τμήμα δεδομένων απλώς επεκτείνεται και αποθηκεύεται μαζί με τα νέα byte. Αυτό ελαφρύνει το φορτίο του δικτύου. Ωστόσο, η ευελιξία των αλλαγών στο αρχείο απαιτεί μεγαλύτερη υπολογιστική ισχύ, καθώς ο αλγόριθμος πρέπει πρώτα να προσδιορίσει τον τρόπο με τον οποίο χωρίζονται τα τμήματα.
Τι είναι η συμπίεση δεδομένων;
Στη συμπίεση δεδομένων, τα αρχεία μετατρέπονται σε μια εναλλακτική μορφή, η οποία είναι πιο αποδοτική από την αρχική. Στόχος αυτού του είδους της συμπίεσης δεδομένων είναι η μείωση του απαιτούμενου χώρου μνήμης καθώς και του χρόνου μεταφοράς. Ένα τέτοιο κωδικοποιητικό κέρδος μπορεί να επιτευχθεί με δύο διαφορετικές προσεγγίσεις:
- Συμπίεση με βάση την πλεοναστικότητα: Με τη συμπίεση δεδομένων χωρίς απώλειες, τα δεδομένα μπορούν να αποσυμπιεστούν με ακρίβεια μετά τη συμπίεση. Επομένως, τα δεδομένα εισόδου και εξόδου είναι πανομοιότυπα. Αυτός ο τύπος συμπίεσης είναι εφικτός μόνο όταν ένα αρχείο περιέχει πλεονάζουσες πληροφορίες.
- Συμπίεση μη σχετικών δεδομένων: Με τη συμπίεση με απώλεια, οι μη σχετικές πληροφορίες διαγράφονται για να συμπιεστεί ένα αρχείο. Αυτό συνοδεύεται πάντα από απώλεια δεδομένων. Μετά από μια συμπίεση μη σχετικών δεδομένων, η ανάκτηση των αρχικών δεδομένων είναι μόνο κατά προσέγγιση. Η διαδικασία ταξινόμησης των δεδομένων ως μη σχετικών είναι διακριτική. Σε μια συμπίεση ήχου μέσω MP3, για παράδειγμα, τα μοτίβα συχνότητας που αφαιρούνται είναι αυτά που θεωρείται ότι ακούγονται ελάχιστα ή καθόλου από τον άνθρωπο.
Ενώ η συμπίεση σε επίπεδο συστήματος αποθήκευσης είναι ουσιαστικά χωρίς απώλειες, οι απώλειες δεδομένων σε άλλους τομείς, όπως η μεταφορά εικόνων, βίντεο και ήχου, γίνονται σκόπιμα αποδεκτές προκειμένου να μειωθεί το μέγεθος των αρχείων.
Τόσο η κωδικοποίηση όσο και η αποκωδικοποίηση ενός αρχείου απαιτούν υπολογιστική ισχύ. Αυτό εξαρτάται κυρίως από τη μέθοδο συμπίεσης που χρησιμοποιείται. Ενώ ορισμένες τεχνικές στοχεύουν στην πιο συμπαγή αναπαράσταση των αρχικών δεδομένων, άλλες εστιάζουν στη μείωση του απαιτούμενου χρόνου υπολογισμού. Η επιλογή της μεθόδου συμπίεσης εξαρτάται, επομένως, πάντα από τις απαιτήσεις του έργου ή της εργασίας για την οποία χρησιμοποιείται.
Ποια μέθοδος συμπύκνωσης δεδομένων είναι καλύτερη;
Για την εφαρμογή διαδικασιών δημιουργίας αντιγράφων ασφαλείας ή τη βελτιστοποίηση του χώρου αποθήκευσης σε τυπικά συστήματα αρχείων, οι εταιρείες συνήθως βασίζονται στην αποσυμπίεση. Αυτό οφείλεται κυρίως στο γεγονός ότι τα συστήματα αποσυμπίεσης είναι εξαιρετικά αποδοτικά όταν πρέπει να αποθηκευτούν πανομοιότυπα αρχεία.
Αντίθετα, οι μέθοδοι συμπίεσης δεδομένων συνδέονται γενικά με υψηλότερο υπολογιστικό κόστος και, ως εκ τούτου, απαιτούν πιο σύνθετες πλατφόρμες. Τα συστήματα αποθήκευσης που συνδυάζουν και τις δύο μεθόδους μείωσης δεδομένων μπορούν να αξιοποιηθούν με τον πιο αποτελεσματικό τρόπο. Αρχικά, οι περιττές πληροφορίες αφαιρούνται από τα αρχεία που πρόκειται να αποθηκευτούν μέσω της αποσυμπίεσης, και στη συνέχεια τα υπόλοιπα δεδομένα συμπιέζονται.