Άρθρα

Deduplication & Compression: Τι είναι και πώς λειτουργούν

Οι τεχνολογίες dedupication και compression είναι πλέον μέρος των περισσότερων σύγχρονων λύσεων SAN και NAS data storage. Με τη χρήση τους επιτυγχάνεται σημαντική μείωση των αναγκών σε storage, γεγονός που με τη σειρά του μειώνει την ανάγκη αγοράς νέου εξοπλισμού και κάνει καλύτερη την εκμετάλλευση της υπάρχουσας χωρητικότητας με αποτέλεσμα μικρότερο κόστος συντήρησης και σημαντική οικονομία σε φυσικό χώρο (datacenter footprint) και ενεργειακή κατανάλωση είτε πρόκειται για βάσεις δεδομένων, για αρχεία χρηστών ή ακόμα για δεδομένα backup. Ειδικά σε περιβάλλον με virtualization και cloud computing, οι τεχνολογίες deduplication & compression γίνονται σχεδόν επιτακτικές αφού η οικονομία που επιτυγχάνουν είναι μέρος των λόγων για τους οποίους υλοποιεί κανείς virtualization και cloud.

Οι τεχνολογίες dedupication και compression προσφέρουν σημαντική οικονομία, αλλά είναι εξίσου σημαντικό να μην επιφέρουν μείωση στην απόδοση της υποδομής storage και να μην επιβαρύνουν το προσωπικό πληροφορικής σε ανάγκες διαχείρισης και εκπαίδευσης.

Τι είναι το Deduplication

Σε ένα σύστημα SAN ή NAS storage για Windows ή Unix, αποθηκεύεται μεγάλος αριθμός αντικειμένων (storage objects) κάθε είδους και κάθε μεγέθους. Πολλά όμως από αυτά τα αντικείμενα είναι ακριβώς ίδια ή έχουν ίδιο κάποιο μέρος τους. Για παράδειγμα σε ένα NAS μπορεί να υπάρχει ένα αρχείο που το αποθηκεύουν πολλοί χρήστες σε διαφορετική θέση ή με διαφορετικό όνομα. Ή στο περιεχόμενο των διαφορετικών αρχείων των χρηστών μπορεί να υπάρχουν κοινές ομάδες bytes, όπως ίδιες λέξεις σε διαφορετικά αρχεία κειμένου. Αλλά ακόμα και σε μη-δομημένα δεδομένα (unstructured data) ή και βάσεις δεδομένων υπάρχουν συνήθως πολλές ίδιες ομάδες blocks που αποθηκεύονται πολλές φορές καταλαμβάνοντας πολλαπλάσιο χώρο.

Η διαδικασία deduplication εξαλείφει αυτές τις πολλαπλές εμφανίσεις των ίδιων blocks. Συγκρίνει τα δεδομένα που γράφονται για πρώτη φορά στο storage και εντοπίζει τα κοινά τμήματα με τα δεδομένα που ήδη υπάρχουν. Ταυτόχρονα δημιουργεί έναν πίνακα με μετα-δεδομένα (συνήθως στη μνήμη Cache) στα οποία περιγράφεται σε πόσα και ποιά αντικείμενα ανήκει κάθε κοινή ομάδα. Έτσι οι εφαρμογές δεν αντιλαμβάνονται καμία αλλαγή στην προσπέλαση των δεδομένων. Αν και στις εφαρμογές, τα συστήματα και τους χρήστες τα δεδομένα παρουσιάζονται όλα ως ανεξάρτητα μεταξύ τους, ωστόσο στους δίσκους του συστήματος storage αποθηκεύεται μόνο μία εικόνα των δεδομένων. Για το λόγο αυτό η τεχνολογία deduplication είναι γνωστή και ως “Single Image Storage” ή SIS.

Deduplication processΣήμερα, η τεχνολογία deduplication υπάρχει και σε πολλές εφαρμογές, όπως backup software, βάσεις δεδομένων ή συστήματα email που αποθηκεύουν τα ίδια συνημμένα αρχεία μόνο μία φορά. Ωστόσο οι εφαρμογές αυτές δουλεύουν σε επίπεδο αρχείου και όχι block, ή και όταν δουλεύουν σε επίπεδο block δεν γνωρίζουν την πραγματική δομή των blocks στους δίσκους του συστήματος storage. Επιπλέον επιβαρύνουν σημαντικά τους servers και μειώνουν την αποδοσή τους. Αντίθετα όταν το deduplication εφαρμόζεται στο ίδιο το σύστημα storage, δηλαδή εκεί ακριβώς όπου αποθηκεύονται φυσικά τα δεδομένα, γίνεται η μεγαλύτερη δυνατή οικονομία σε χώρο, υπάρχει πλήρης διαφάνεια για όλες τις εφαρμογές και τα λειτουργικά συστήματα και δεν υπάρχει επίπτωση στην απόδοση των servers και των εφαρμογών.

Είναι κατανοητό ότι η διαδικασία deduplication απαιτεί υπολογιστική ισχύ από το σύστημα storage, γιατί καθώς εισάγονται νέα δεδομένα πρέπει αυτά να συγκριθούν με τα υπάρχοντα για να εντοπιστούν και να εξαλειφθούν οι κοινές ομάδες blocks. Η επιβάρυνση στην απόδοση του συστήματος storage είναι συνήθως αμελητέα για την ανάγνωση των δεδομένων. Για την εγγραφή όμως και κυρίως για απαιτητικές βάσεις δεδομένων, η επιβάρυνση ενδέχεται να είναι σημαντική, κάτι που εξαρτάται από την ισχύ του συστήματος και από τον τύπο των δίσκων που χρησιμοποιούνται (SATA, SAS ή SSD). Για το λόγο αυτό σε παραγωγικά συστήματα storage, η διαδικασία deduplication δεν εκτελείται σε πραγματικό χρόνο (real-time), αλλά προγραμματίζεται ως διαδικασία batch σε ώρες χαμηλών απαιτήσεων ή όταν η χρήση του συστήματος είναι χαμηλή. Η τεχνική αυτή είναι γνωστή ως out-of-band deduplication.

Ωστόσο, όταν οι απαιτήσεις σε απόδοση είναι χαμηλές, για παράδειγμα σε συστήματα VTL ή backup-to-disk, είναι δυνατόν να εκτελείται deduplication σε πραγματικό χρόνο. Η τεχνική αυτή είναι γνωστή ως real-time ή in-band deduplication.

Τι είναι το Compression

Η τεχνολογία Compression (συμπίεση) έχει σαν αποτέλεσμα τη μείωση του όγκου των δεδομένων, όπως και με το deduplication, αλλά γίνεται με διαφορετικό τρόπο. Κατά τη διαδικασία Compression εξετάζονται τα δεδομένα που γράφονται στο σύστημα storage, καθώς αυτά γράφονται και εφαρμόζονται σε αυτά κάποιοι αλγόριθμοι συμπίεσης που μπορούν να μειώσουν το πραγματικό χώρο που απαιτείται.

Η διαφορά με το deduplication είναι ότι δεν γίνεται καμία σύγκριση με τα δεδομένα που ήδη υπάρχουν αποθηκευμένα στο σύστημα storage. Αυτό μειώνει την οικονομία που γίνεται σε χώρο, αλλά ταυτόχρονα αυξάνει και την ταχύτητα της διαδικασίας. Η διαδικασία compression εφαρμόζεται σε πραγματικό χρόνο (real-time). Κατά την εγγραφή τους τα δεδομένα αποθηκεύονται προσωρινά σε μια ενδιάμεση ηλεκτρονική μνήμη cache, εφαρμόζεται σε αυτά compression και στη συνέχεια γράφονται στους δίσκους στα νέα “συμπιεσμένα” blocks. Κατά την ανάγνωση των δεδομένων, εκτελείται η αντίστροφη διαδικασία, γνωστή ως decompression. Τότε τα δεδομένα μεταφέρονται από τους δίσκους στην προσωρινή μνήμη, αποσυμπιέζονται και στέλνονται στις εφαρμογές και τους χρήστες στην αρχική τους μορφή.

Compression processΗ διαδικασία του compression μπορεί να γίνει στις εφαρμογές ή τα λειτουργικά συστήματα των servers. Όταν όμως γίνεται στο σύστημα storage, είναι σίγουρα ταχύτερη και επιπλέον δεν χρειάζεται καμία επέμβαση στους servers.

Το compression εκτελείται με τρόπο in-band (δηλαδή σε πραγματικό χρόνο), γι' αυτό και έχει επίπτωση στο χρόνο απόκρισης τόσο κατά την εγγραφή όσο και κατά την ανάγνωση. Για το λόγο αυτό, η χρήση του compression συνήθως δεν συνιστάται για απαιτητικές εφαρμογές και βάσεις δεδομένων, κάτι βέβαια που εξαρτάται από την ισχύ του συστήματος storage και τον τύπο των δίσκων που χρησιμοποιούνται. Είναι όμως μια ιδανική τεχνολογία για την αποθήκευση δεδομένων που δεν έχουν απαιτήσεις μικρού χρόνου απόκρισης. Τέτοια δεδομένα είναι τα αρχεία χρηστών σε περιβάλλον NAS ή γενικά δευτερεύοντα αρχεία και backups.

Αρκετές λύσεις storage σήμερα διαθέτουν τη δυνατότητα compression που μπορεί να ενεργοποιηθεί ή όχι σε ορισμένα δεδομένα στο σύστημα. Τέτοια συστήματα είναι τα συστήματα NetApp και IBM N-Series. Επιπλέον υπάρχουν ειδικές συσκευές hardware compression που τοποθετούνται πριν από ένα σύστημα storage και εκτελούν συμπίεση και αποσυμπίεση των δεδομένων που γράφονται και διαβάζονται αντίστοιχα από το σύστημα storage.

Πόση οικονομία χώρου μπορεί να γίνει με το Deduplicaton και το Compression;

Το ποσοστό οικονομίας χώρου που μπορούμε να επιτύχουμε με το deduplication και το compression δεν είναι ένα απόλυτο μέγεθος. Είναι ένα στατιστικό μέγεθος που ποικίλει ανάλογα με το είδος των δεδομένων στα οποία εφαρμόζονται οι δύο τεχνολογίες. Σύμφωνα με ένα γενικό κανόνα, όσο πιο “ανθρώπινη” είναι η μορφή των δεδομένων (όπως έγγραφα κειμένου, emails κλπ.) τόσο θεωρητικά πιο μεγάλη μείωση του όγκου τους μπορεί να επιτευχθεί. Αντίθετα, όσο πιο κοντά είναι τα δεδομένα στη γλώσσα των υπολογιστών (machine code), τόσο μικρότερη είναι και η οικονομία. Τέτοια παραδείγματα είναι εκτελέσιμα αρχεία, βάσεις δεδομένων κλπ.

Data Reduction RatioΓια το deduplication η οικονομία σε χώρο εξαρτάται επίσης από το συνολικό όγκο δεδομένων που βρίσκονται αποθηκευμένα στο σύστημα storage, γιατί έτσι αυξάνεται η πιθανότητα να βρεθούν κοινές ομάδες blocks. Ειδικά μάλιστα σε περιβάλλοντα virtualization, είτε βασίζεται σε VMWare, σε Hyper-V ή Citrix, η οικονομία από το deduplication είναι σημαντική, γιατί το μεγαλύτερο μέρος των virtual machines είναι ίδιο μεταξύ τους και γι' αυτό αποθηκεύεται μόνο μία φορά. Αυτό βέβαια προϋποθέτει ότι το σύστημα storage γνωρίζει την αντίστοιχη δομή δεδομένων που χρησιμοποιεί κάθε τεχνολογία virtualization. Υπάρχει πάντως ένας κατασκευαστής, η NetApp, που εγγυάται μείωση του χώρου κατά 50% για τέτοια περιβάλλοντα, ενώ η οικονομία αυτή μπορεί να ξεπεράσει και το 80%.

Τέλος, για δεδομένα backup σε δίσκους και πάλι το deduplication μπορεί να επιτύχει μεγάλη οικονομία όταν στους δίσκους όταν χρησιμοποιείται full backup (όχι differential ή incremental backup) και όταν υπάρχουν ήδη αποθηκευμένα παλαιότερα backups, γιατί συνήθως οι μεταβολές των δεδομένων από backup σε backup δεν είναι σημαντικές.

Άρθρα