Το τέλος του SIS στον Exchange 2010 .
Στον Exchange Server 2010, δεν υπάρχει πλέον το Single Instance Storage (SIS). Πολοί συνάδερφοι κατά καιρούς με έχουν ρωτήσει τους λόγους που καταργήθηκε. Ας προσπαθήσουμε να τους εξηγήσουμε λοιπόν.
Στην αρχική ανάπτυξη του Exchange 4.0, υπήρχαν 2 στόχοι μέσα απο τους οποίου γεννήθηκε το SIS:
- Το να παραδίδονται τα μηνύματα όσο πιο γρήγορα και αποτελεσματικά γίνετε .
- Μείωση του αποθηκευτικού χώρου που απαιτείται καθώς το κόστος του ήταν σημαντικό.
Ο Exchange 4.0 (και μέχρι ενός σημείου ο Exchange 5.0 και ο Exchange 5.5) είχαν σχεδιαστεί ώς departmental solution. Τότε οι χρήστες τοποθετούνταν σε έναν Exchange server βάσει του organization structure (με αποτέλεσμα πολλές φορές ολόκληρη η εταιρεία να είναι στον ίδιο server). Εφόσον υπήρχε μία μόνο mailbox database, βελτιστοποιήθηκε η χρήση του SIS για message delivery (με αποθήκευση του body και του attachment μία φορά μόνο ) και space efficiency. Η μόνη περίπτωση που δημιουργούνταν άλλο αντίγραφο ήταν όταν ο χρήστης άλλαζε κάποιο κομμάτι του μηνύματος .
Μέχρι τον Exchange 2000 η δομή της βάσης του Exchange ήταν κάπως έτσι :
Στον Exchange 2000 υπήρξε η μετάβαση στο πρωτόκολλο SMTP για server-to-server connectivity, η προσθήκη των storage groups και η αύξηση του αριθμού των databases ανά server. Το αποτέλεμα ήταν η εξέλιξη της χρήσης του Exchange σε επίπεδο enterprise. Επίσης η αύξηση των βάσεων σε 20 μείωσε τα οφέλη του SIS καθώς οι πολλαπλοί παραλήπτες δεν βρισκόταν απαραίτητα στην ίδια βάση. Ταυτόγχρονα το message delivery βελτιώθηκε με εξέλιξη του μηχανισμού transport που έγινε πιο SIS-Free.
Με τον Exchange 2003 εμφανίστηκαν νέα features όπως το Cached Exchange Mode. Αυτό μείωσε περαιτέρω τα οφέλη του SIS καθώς οι χρήστες πλέον τοποθετούνταν πλέον διάσπαρτοι στις databases.
Στον Exchange 2007, αυξήθηκε περαιτέρω ο αριθμός των databases. Επιπλέον με την βελτίωση του transport delivery κατέστη εντελώς περιττή η ύπαρξη του SIS από την transport-perspective πλευρά του. Επίσης αλλαγές στο information store εξάλειψαν την ικανότητα των single instance message bodies (αλλά επέτρεψαν το single instancing των attachments). Το αποτέλεσμα όλων αυτών ήταν ότι το SIS δεν προσέφερε πιά πραγματικά οφέλη χώρου , παρά μόνο εξοικονόμηση χώρου περίπου 0-20%.
Ένας απο τους πρωταρχικούς στόχους του Exchange 2010 ήταν να προσφέρει μεγάλα mailbox με πολύ χαμηλό κόστος.Το κόστος του αποθηκευτικού χώρου πλέον είναι πολύ μικρό επιτρέποντας αγορές μεγάλου αποθηκευτικού χώρου. Για να εκμεταλευτούμε όμως αυτόν τον αποθηκευτικό χώρο έπρεπε να μεγαλώσουμε τα mailbox sizes και να βελτιώσουμε το σχεδιασμό μας ώστε να είναι ταυτόγχρονα I/O και capacity efficient.
Κατά την ανάπτυξη του Exchange 2010, έγινε εμφανές ότι το να υπάρχει ένα table structure βελτιστοποιημένο για το SIS ήταν παρωχημένο και δεν επέτρεπε περαιτέρω βελτίωση. Έτσι για να βελτιωθεί το store , το ESE και να αλλάξει το IO profile (απο μικρά και πολλά τυχαία IOs σε μεγαλύτερα πιο αραιά και πιο sequential I/Os), όπως επίσης για να λυθούν προβλήματα που αφορούσαν το item count έπρεπε να γίνει αλλαγή στο store schema. Πιο συγκεκριμένα έγινε μετάβαση απο μια per-database table structure σε μία per-mailbox table structure:
Το παραπάνω σε συνδυασμό με αλλαγές στο ESE και τις store engines (lazy view updates, space hints, page size increase, b+ tree defrag, κλπ.), μας έδωσαν όχι μόνο 70% μείωση του I/O σε σχέση με τον Exchange 2007, αλλά και μεγαλύτερη δυνατότητα να αποθηκεύσουμε περισότερα αντικείμενα σε κρίσιμα path.
Αποτέλεσμα όλων αυτών ήταν οτι ενώ όλες οι αλλαγές αυτές βελτίωσαν κατα πολύ το IO επέδρασαν σε βάρος του space efficiency περίπου κατά 20% σε σχέση με τον Exchange 2007.Για να επιλυθεί αυτό εξελίχτηκε ένας μηχανισμός συμπίεσης (με την χρήση 7-bit ή XPRESS, μία εξέλιξη του LZ77 algorithm) ο οποίος συμπιέζει τα message headers και τα bodies που είναι είτε text είτε HTML-based (τα attachments δεν επηρεάζονται καθώς είναι ήδη συμπιεσμένα).
Ας δούμε μια σύγκριση βάσεων για τον Exchange 2007 και τον Exchange 2010 με διαφορετικά data:
Όπως παρατηρούμε στον Exchange 2007 οι databases που περιέχουν 100% Rich Text Format (RTF) τέθηκε ώς baseline για την συμπίεση δεδομένων στον Exchange 2010.Αυτό που επετεύχθει ήταν ότι σε μεικτά δεδομένα (77% HTML, 15% RTF, 8% Text, με μέσο μέγεθος 50KB) ο αλγόριθμος αυτός κράτησε την βάση στα ίδια επίπεδα με τον Exchange 2007 αμβλύνοντας τον αντίκτυπο της έλλειψης του SIS.
Αναρωτιέται κανείς όμως. Η συμπίεση είναι η λύση και η απάντηση στην αντικατάσταση του single instancing? Η απάντηση είναι πολύπλοκη και εξαρτάται απο παράγοντες όπως:
- Περιβάλλοντα που χρησιμοποιούν μόνο Rich-Text Format messages. Οι αλγόριθμοι συμπίεσης του Exchange 2010 δεν συμπιέζουν τα RTF message blobs γιατί είναι ήδη στην πιο συμπιεσμένη μορφή που μπορούν να υπάρξουν.
- Αποστολή μεγάλων attachments σε πολλούς users. Για παράδειγμα ένα 30 MB+ attachment σε 20 users. Ακόμα και με ύπαρξη 5 recipients στην ίδια database, στον Exchange 2003 αυτό σήμαινε ότι το 30MB attachment αποθηκευόταν 1 φορά αντί 5 στην database. Στον Exchange 2010, αυτό το attachment αποθηκεύεται 5 φορές (150 MB στην database) και δεν είναι συμπιεσμένο. Αλλά με σωστή αρχιτεκτονική του storage μας δεν θα αποτελεί πρόβλημα. Επίσης σε αυτό μπορούν να μας βοηθήσουν οι retention κανόνες που μπορούμε να έχουμε.
- Εταιρείες ή οργανισμοί που είναι υποχρεωμένοι να διατηρούν για λόγους compliance και για μεγάλο χρονικό διάστημα αρχεία επωφελούνται φαινομενικά απο την εξοικονόμηση χώρου που προσφέρει το single instancing αν και πάλι με την κατακόρυφη μείωση του κόστους του αποθηκευτικού χώρου αυτό σήμερα δεν είναι και τόσο σοβαρό εμπόδιο.
Για όποιον ανατρέξει την τελευταία 10ετία στα guides δεν θα βρεί ούτε μία αναφορά στην χρήση SIS σε σχέση με το capacity planning. Όλοι οι οδηγοί που αφορούν τον σχεδιασμό storage δεν λάμβανα υπόψην τους το SIS. Και για αυτούς που θα αναφέρουν το λεγόμενο thin provisioning, θα τους αντιτάξω ότι το SIS δεν είναι ένας λόγος να κάνεις thin provisioning, ούτε είναι μέτρο υπολογισμού και σύγκρισης των απαιτήσεων σε αποθηκευτικό χώρο.Το Thin provisioning απαιτεί εμπειρία και ωριμότητα με γρήγορες αντιδράσεις και ευελιξία ελιγμών σε αλλαγές στο τομέα του, όπως και βαθιά κατανόηση και διορατικότητα στην ανάπτυξη και των χρηστών αλλά και των μεγεθών επικοινωνίας και την κάλυψη τους πριν αυτά συμβούν
Εν κατακλείδι οι αρχιτεκτονικές αλλαγές στον Exchange 2010 προσφέρουν μεγάλα mailboxes με χαμηλό κόστος έτσι μπορούμε να έχουμε highly available συστήματα με εξαιρετικά χαμηλό κόστος υλοποίησης.Ακόμα και τα ας πούμε “ μειονεκτήματα “ που αναφέρω παραπάνω σήμερα με το μηδαμινό κόστος αποθήκευσης εξαλείφονται.
Ελπίζω η λειτουργία και οι λόγοι του που το SIS δεν υπάρχει πλέον να έγιναν κατανοητοί. Υπόσχομαι σε επόμενο event να δείξω μια live σύγκριση μεταξύ των 2 τεχνολογιών για να δούνε όλοι την αποτελεσματικότητα και την μείωση του Ι/Ο που επέφερε ο ριζικός ανασχεδιασμός του Exchange 2010
6 Comments
Recommended Comments