Τετάρτη 10 Οκτωβρίου 2012

Microsoft SQL Server 2012




Οι βελτιώσεις στον τομέα της High-Availability τεχνολογίας αλλά και στη χρήση του ευρετηρίου (indexing) βρίσκονται στην κορυφή της λίστας των σπουδαίων νέων χαρακτηριστικών της πρόσφατης έκδοσης της Microsoft.




High-availability



Στα πλαίσια της νέας αυτής έκδοσης μεγάλη προσπάθεια επενδύθηκε για την νέα High-Availability τεχνολογία, με την επονομασία AlwaysOn, που έρχεται να καλύψει τα κενά του Database Mirroring, της τεχνολογίας που είχε εισαχθεί από το Service Pack 1(SP1) του Microsoft SQL Server 2005.

Η επιλογή ενός μοναδικού server ως mirror ήταν ένα πρόβλημα από την πρώτη στιγμή, όπως και το γεγονός ότι οι servers που επιλέγονταν ως mirrors παρέμεναν σε αχρηστία μέχρις ότου να "πέσει" η κύρια βάση δεδομένων, καθώς δεν υπήρχε η δυνατότητα να "διαβαστούν" από αυτούς δεδομένα. Πλέον καθίσταται δυνατή η χρήση μόνο-για-ανάγνωση αντιγράφων της κύριας βάσης δεδομένων μέσω των mirror servers.
Το σημαντικότερο όμως θέμα που επιλύεται με την τεχνολογία AlwaysOn είναι το failover (1) στην ειδική περίπτωση όπου έχουμε πολλαπλά εξαρτώμενες βάσεις δεδομένων. Πλέον δίνεται η δυνατότητα να οριστούν, μέσω των επονομαζόμενων Availability Groups, ομάδες βάσεων δεδομένων, οι οποίες και θα υποβληθούν στη διαδικασία του failover όλες μαζί, αν υπάρξει πρόβλημα για οποιαδήποτε από αυτές.
Επίσης, μέσω του νέου χαρακτηριστικού ContainedDB δίνεται η δυνατότητα να προσδιοριστεί μια βάση ως αυτόνομη ώστε να της απαγορευτεί να έχει εξωτερικές εξαρτήσεις από άλλες βάσεις δεδομένων ή ακόμα και από τον ίδιο το server. Στην πραγματικότητα, οι λογαριασμοί χρηστών σε μια Contained βάση δεδομένων δεν απαιτούν καν login στο επίπεδο του server.
Τέλος, μεγάλη βελτίωση επέρχεται στον τομέα καταγραφής συμβάντων (event logging, tracing) με την ανάπτυξη του νέου XEvents GUI, το οποίο ίσως απαιτεί κάποιο χρόνο εξοικείωσης, αλλά είναι πολύ πιο ευέλικτο και ελαφρύ από το SQL Trace.

Indexing



Σε ότι αφορά το indexing σημειώνονται δυο βασικές βελτιώσεις.

Η πρώτη έχει να κάνει με το on-line re-indexing, όπου στην έκδοση SQL Server 2005 ναι μεν προσφερόταν αλλά όχι για όλους του τύπους δεδομένων( συγκεκριμένα αν κάποιο index περιείχε δεδομένα τύπου varchar(max), nvarchar(max), varbinary(max), ή XML στήλες τότε δεν υπήρχε η δυνατότητα για on-line re-indexing). Συνεπώς οι υπορουτίνες που ήταν υπεύθυνες για το re-indexing έπρεπε να λαμβάνουν υπόψιν τους ότι υπάρχουν δυο διαφορετικού τύπου indexes. Πλέον το on-line re-indexing είναι διαθέσιμο για όλους τους τύπους δεδομένων.
Η δεύτερη καινοτομία του Microsoft SQL Server 2012 είναι ένας νέος τύπος index (column store index), ο οποίος σε αντίθεση με τα παραδοσιακά indexes, που αποθηκεύουν δεδομένα για κάθε γραμμή αυτό αποθηκεύει δεδομένα ανά στήλη, με τη Microsoft να ισχυρίζεται πως αυτή η αλλαγή μπορεί να επιφέρει και 10 φορές βελτίωση της απόδοσης, ενώ για δεδομένα και βάσεις με συγκεκριμένα χαρακτηριστικά (πχ αποθηκών με τεράστια datasets) έχουν σημειωθεί και κέρδη πολλές φορές μεγαλύτερα από αυτό!
Να σημειωθεί ότι ο νέος SQL Server 2012 μπορεί να εγκατασταθεί πάνω στο Windows Server Core, στοιχείο που μπορεί να αυξήσει εν γένει τη ταχύτητα του server αλλά και να μειώσει τα θέματα στην ασφάλεια. Στο Server Core τρέχουν λιγότερα services, στοιχείο που συνεπάγεται λιγότερες "τρύπες" στο λογισμικό, που μπορούν να επηρεάσουν αρνητικά την απόδοση και την ασφάλεια.

T-SQL (2)



Όσον αφορά την T-SQL στην νέα έκδοση υπάρχουν και σε αυτήν, λίγες μεν, πολύ χρήσιμες δε βελτιώσεις.

Η συνάρτηση LAG δίνει πρόσβαση για κάθε γραμμή του αποτελέσματος στα δεδομένα των στηλών της προηγούμενης γραμμής, στοιχείο ιδιαίτερα χρήσιμο σε περιπτώσεις όπως όταν έχουμε μια στήλη-τιμή και θέλουμε να προβάλουμε την τρέχουσα και την προηγούμενη τιμή στην ίδια γραμμή.
Η συνάρτηση EOMonth δίνει πρόσβαση στη τελευταία ημέρα του μήνα, για τη τιμή εκείνη που της δίνεται ως όρισμα.
Τέλος, μέσω του FileTable παρέχεται η δυνατότητα για αποθήκευση εγγράφων στο file system, τα οποία όμως γίνονται αυτόματα back-up μέσω της βάσης δεδομένων. Ορίζοντας έναν πίνακα ως FileTable και αναθέτοντάς του ένα directory του file system, τα αρχεία που αποθηκεύονται στο directory αυτό μέσω του Windows Explorer αποθηκεύονται αυτόματα και στη βάση. Αλλαγές στα αρχεία αυτά γίνονται τόσο μέσω της T-SQL, όσο και στο επίπεδο των Windows.


Τέλος, παρόλα τα καλά νέα που φέρνει ο νέος SQL Server 2012, η νέα έκδοση της Microsoft ίσως προκαλέσει και κάποια απογοήτευση, καθώς θα πρέπει να σημειωθεί ως αρνητικό της στοιχείο, η στασιμότητα στην εξέλιξη του PowerShell και του SQL Server Management Studio.



  1. η αυτόματη μετάβαση(switching) στους εν αναμονή mirror servers όταν αποτυγχάνουν οι κύριοι
  2. επέκταση των Microsoft και Sybase πάνω στην γλώσσα SQL ώστε να περιλαμβάνει διαδικαστικό προγραμματισμό, τοπικές μεταβλητές και βασικές μαθηματικές συναρτήσεις, συναρτήσεις επεξεργασίας Strings και ημερομηνιών 










Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου