Μια ενδιαφέρουσα ερώτηση που είχα στο launch event και την οποία ξέχασα να αναφέρω, ήταν “πόσα εννιάρια υποστηρίζει ο SQL Server 2005”. Στην αρχή κόλλησα και δεν κατάλαβα τι εννούσε ο άνθρωπος… Μετά κατάλαβα ότι αναφέρονταν στα εννιάρια του availability, δηλαδή αυτό που συναντάμε σε διάφορα services ως 99.9% availability ή 99.999% availability.
Του εξήγησα ότι το availability δεν είναι feature του προϊόντος αλλά περισσότερο δείκτης ολόκληρου του συστήματος που στηρίζεται στο προϊόν. Το προϊόν προσφέρει λειτουργίες που αυξάνουν το availability αλλά δεν μπορεί να κάνει τα πάντα. Για παράδειγμα, αν ένας SQL Server είναι σε σύστημα που δεν υποστηρίζει hot swapping και τύχει να σκάσει δίσκος, τότε το 99.999% πάει περίπατο. Άρα λοιπόν εξαρτάται από όλα τα components του συστήματος. Επίσης, το availability έχει σχέση και με το μέγεθος της βάσης. Άλλο είναι να ζητάς 99.999% σε βάση 30ΜΒ και άλλο σε βάση 30GB. H δεύτερη χρειάζεται πολύ μεγαλύτερο χρόνο για restore και recovery.
Σαφώς, ο SQL Server 2005 έχει high availability features, υπήρχε ολόκληρο σχετικό session στο launch (δεν το παρακολούθησα - δεν ξέρω μήπως ο άνθρωπος που με ρώτησε είδε εκεί κάτι σχετικό και του ήρθε η απορία). Ωστόσο, έχω την εντύπωση ότι η ερώτηση εμπεριείχε περισσότερο μαρκετινίστικο στοιχείο παρά τεχνικό, μιας και τα εννιάρια έχουν αρκετό hype για να τα κουβεντιάζουν οι πωλητές. Βέβαια, το availability το συναντάμε συχνά και στα service aggreements των ASPs μιας και αποτελεί ένα μετρήσιμο παράγοντα της ποιότητας του service.
Τελικά, τι είναι αυτά τα εννιάρια; ΟΚ, είναι το ποσοστό του χρόνου που το σύστημα είναι διαθέσιμο, αλλά τι σημαίνουν πρακτικά; Ή αλλιώς, να φρικάρω ή όχι αν ο Pointy-Haired Boss μου ζητήσει 99.999% availability;
Το νούμερο αυτό εξαρτάται από δύο παράγοντες, το MTBF (Mean Time Between Failures) και το MTTR (Mean Time To Repair), οι οποίοι σχετίζονται ως
Availability = MTBF / (MTBF+MTTR)
όπερ σημαίνει ότι το σύστημα πρέπει να έχει όσο το δυνατόν μεγαλύτερο uptime ενώ ο χρόνος επισκευής θα πρέπει να είναι όσο το δυνατόν μικρότερος. Αν κάνετε τις πράξεις, θα δείτε ότι κάτι τέτοιο δεν επιτυγχάνεται εύκολα:
Availability Downtime ανά μήνα Downtime ανά χρόνο
99.9999% 2.6 δευτ. 32 δευτ.
99.999% 26.25 δευτ. 5 λεπτά, 15 δευτ.
99.99% 4 λεπτά, 23 δευτ. 52 λεπτά, 36 δευτ.
99.95% 21 λεπτά, 54 δευτ. 4 ώρες, 23 λεπτά
99.9% 43 λεπτά, 50 δευτ. 8 ώρες, 46 λεπτά
99.5% 3 ώρες, 39 λεπτά 1 ημέρες, 19 ώρες, 48 λεπτά
99% 7 ώρες, 30 λεπτά 3 ημέρες, 15 ώρες, 40 λεπτά
Εδώ μπορείτε να δείτε μερικά πραγματικά availability statistics http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/harag01.mspx από «μεγάλους». Μάλιστα θεωρούνται επιτυχίες δεδομένου του ρόλου του συστήματος που έχουν.
Vir prudens non contra ventum mingit