Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1
Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση
Γιατί θα μιλήσουμε 1. Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων 2. Μια επισκόπηση της Ρύθμισης Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-3
1. Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (1) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό : A. Ανάλυση των ερωτήσεων και των δοσοληψιών Χρειάζονται οι παρακάτω πληροφορίες για κάθε ερώτηση. 1. Τα αρχεία στα οποία θα έχει προσπέλαση η ερώτηση 2. Τα γνωρίσματα στα οποία προσδιορίζονται συνθήκες επιλογής για την ερώτηση 3. Ταγνωρίσματα στα οποία προσδιορίζονται, από την ερώτηση, οποιεσδήποτε συνθήκεςσυνένωσης για σύνδεση πινάκων ή αντικειμένων 4. Τα γνωρίσματα τα οποία θα ανακτηθούν από την ερώτηση. Σημείωση: τα γνωρίσματα στα 2 και 3 παραπάνω είναι υποψήφια για ορισμό δομών προσπέλασης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-4
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (2) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό (συν.): A. Ανάλυση των ερωτήσεων και των δοσοληψιών (συν.) Για κάθε δοσοληψία ή πράξη ενημέρωσης, χρειάζονται οι παρακάτω πληροφορίες. 1. Τα αρχεία που θα τροποποιηθούν 2. Το είδος της πράξης για κάθε αρχείο (εισαγωγή, τροποποίηση ή διαγραφή) 3. Τα γνωρίσματα για τα οποία ορίζονται συνθήκες επιλογής από μια πράξη τροποποίησης ή διαγραφής 4. Τα γνωρίσματα των οποίων οι τιμές θα αλλάξουν από μια πράξη τροποποίησης. Σημείωση: τα γνωρίσματα στο 3 παραπάνω είναι υποψήφια για ορισμό δομών προσπέλασης. Ωστόσο, τα γνωρίσματα του 4 είναι υποψήφια για αποφυγή δομής προσπέλασης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-5
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (3) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό (συν.): B. Ανάλυση της αναμενόμενης συχνότητας χρήσης των ερωτήσεων και των δοσοληψιών Οι πληροφορίες της αναμενόμενης συχνότητας, μαζί με τις πληροφορίες γνωρισμάτων που συλλέγονται για κάθε ερώτηση και δοσοληψία, χρησιμοποιούνται για να συνταχθεί μια συλλογική λίστα αναμενόμενης συχνότητας χρήσης για όλες τις ερωτήσεις και τις δοσοληψίες. Εκφράζεται σαν η αναμενόμενη συχνότητα χρήσης κάθε γνωρίσματος σε κάθε αρχείο σαν γνώρισμα επιλογής ή συνένωσης, από όλες τις ερωτήσεις και δοσοληψίες. Κανόνας 80-20 Υπάρχει προσπέλαση στο 20% των δεδομένων το 80% του χρόνου Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-6
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (4) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό (συν.) C. Ανάλυση των περιορισμών χρόνου ερωτήσεων και δοσοληψιών Οι περιορισμοί απόδοσης θέτουν περαιτέρω προτεραιότητες για τα γνωρίσματα που είναι υποψήφια για δομές προσπέλασης. Τα γνωρίσματα επιλογής που χρησιμοποιούνται από ερωτήσεις και δοσοληψίες με περιορισμό χρόνου αποτελούν υποψηφιότητες υψηλής προτεραιότητας για πρωτεύουσες δομές προσπέλασης. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-7
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (5) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό (συν.) D. Ανάλυση των αναμενόμενων συχνοτήτων πράξεων τροποποίησης Πρέπει να προσδιορισθεί ένα ελάχιστο πλήθος δομών προσπέλασης για ένα αρχείο που τροποποιείται συχνά. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-8
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (6) Παράγοντες που επηρεάζουν τον φυσικό σχεδιασμό (συν.) E. Ανάλυση των περιορισμών μοναδικότητας στα γνωρίσματα Πρέπει να ορισθούν δομές προσπέλασης σε όλα γνωρίσματα που είναι υποψήφια κλειδιά ή σύνολα γνωρισμάτων που είτε είναι το πρωτεύον κλειδί ή με τον περιορισμό της μοναδικότητας. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-9
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (7) Αποφάσεις για το φυσικό σχεδιασμό βάσεων δεδομένων (συν.) Σχεδιαστικές αποφάσεις για το σχεδιασμό ευρετηρίων Θα κατασκευασθεί ευρετήριο σε ένα γνώρισμα? Σε ποιό γνώρισμα ή γνωρίσματα να κατασκευασθεί ευρετήριο? Που να αναπτυχθεί ένα ευρετήριο συστάδα? Αν θα χρησιμοποιηθεί ευρετήριο κατακερματισμού ή δενδρικό? Αν θα χρησιμοποιηθεί δυναμικός κατακερματισμός στο αρχείο? Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-10
Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων (8) Αποφάσεις για το φυσικό σχεδιασμό βάσεων δεδομένων(συν.) Σχεδιαστική απόφαση μη κανονικοποίησης για επιτάχυνση των ερωτήσεων Ο στόχος της κανονικοποίησης είναι να διαχωρισθούν τα λογικά σχετιζόμενα γνωρίσματα σε πίνακες για ελαχιστοποίηση των επικαλύψεων και επομένως να αποφευχθούν ανωμαλίες τροποποίησης που απαιτούν επιπλέον επεξεργασία για να διατηρηθεί η συνέπεια της βάσης δεδομένων. Ο στόχος της μη κανονικοποίησης είναι να βελτιωθεί η απόδοση των συχνών ερωτήσεων και δοσοληψιών. (Τυπικά ο σχεδιαστής προσθέτει σε ένα πίνακα γνωρίσματα που χρειάζονται για να απαντηθούν ερωτήσεις ή για τη δημιουργία αναφορών ώστε να αποφεύγεται η συνένωση πινάκων.) Ισορροπία μεταξύ απόδοσης τροποποιήσεων και ερωήσεων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-11
2. Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (1) Ρύθμιση: Η συνεχής διαδικασία για διόρθωση/αναπροσαρμογή το φυσικό σχεδιασμό της βάσης δεδομένων για παρακολούθηση της χρήσης των πόρων καθώς και εσωτερική επεξεργασία στο ΣΔΒΔ για αποφυγή μποτιλιαρίσματος όπως ανταγωνισμό για τα ίδια δεδομένα ή μονάδες. Στόχος: Για να τρέχει η εφαρμογή γρηγορότερα Για ελάττωση του χρόνο απόκρισης ερωτήσεων/δοσοληψιών Για βελτίωση της συνολικής ροής εκτέλεσης των δοσοληψιών Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-12
Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (2) Στατιστικά που συλλέγονται εσωτερικά από το ΣΔΒΔ: Μέγεθος των επιμέρους πινάκων Πλήθος διακριτών τιμών σε μια στήλη Το πλήθος των φορών που υποβάλλεται/εκτελείται μια δοσοληψία σε ένα χρονικό διάστημα Οι χρόνοι που απαιτούνται για τις διαφορετικές φάσεις επεξεργασίας μιας ερώτησης και μιας δοσοληψίας Στατιστικές που λαμβάνονται από την παρακολούθηση: Στατιστικές αποθήκευσης I/O και στατιστικές απόδοσης των μονάδων Στατιστικές επεξεργασίας ερωτήσεων/δοσοληψιών Στατιστικές σχετικές με κλειδώματα Στατιστικές ευρετηρίων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-13
Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (3) Προβλήματα που πρέπει να εξετασθούν κατά την ρύθμιση: Πως να αποφευχθεί υπερβολικός χρόνος ανταγωνισμού για κλειδώματα? Πως να ελαχιστοποιηθεί η επιπλέον εργασία τήρησης ημερολογίου και το μη αναγκαίο γράψιμο δεδομένων? Πως να βελτιστοποιηθεί το μέγεθος της ενδιάμεσης μνήμης και η δρομολόγηση των διαδικασιών? Πώς να κατανεμηθούν οι πόροι όπως δίσκοι, RAM και οι διαδικασίες για την αποτελεσματική χρησιμοποίησή τους? Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-14
Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (4) Ρύθμιση Ευρετηρίων Λόγοι για ρύθμιση των ευρετηρίων Κάποιες ερωτήσεις μπορεί να θέλουν πολύ χρόνο εκτέλεσης από έλλειψη ευρετηρίων Κάποια ευρετήρια μπορεί να μην χρησιμοποιούνται καθόλου Κάποια ευρετήρια μπορεί να προκαλούν υπερβολικό φόρτο επειδή το ευρετήριο είναι σε κάποιο γνώρισμα που υφίσταται συχνές αλλαγές Επιλογές στη ρύθμιση ευρετηρίων Διαγραφή ή/και δημιουργία νέων ευρετηρίων Αλλαγή ενός ευρετηρίου που δεν είναι συστάδας σε ευρετήριο συστάδα (και αντίστροφα) Ανάπτυξη ξανά του ευρετηρίου Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-15
Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (5) Ρύθμιση του σχεδιασμού της βάσης δεδομένων Οι δυναμικά μεταβαλλόμενες απαιτήσεις επεξεργασίας πρέπει να αντιμετωπισθούν με αλλαγές, αν χρειαστεί, στο εννοιολογικό σχήμα και ο αλλαγές αυτές να αντικατοπτρίζονται στο λογικό σχήμα και τον φυσικό σχεδιασμό. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-16
Ανασκόπηση της Ρύθμισης Βάσεων Δεδομένων σε Σχεσιακά Συστήματα (6) Ρύθμιση του σχεδιασμού της βάσης δεδομένων (συν.) Πιθανές αλλαγές στο σχεδιασμό της βάσης δεδομένων Υπάρχοντες πίνακες μπορεί να συνενωθούν (μη κανονικοποήση) επειδή κάποια γνωρίσματα από δύο ή περισσότερους πίνακες μπορεί να χρειάζονται συχνά μαζί. Για το σύνολο των δοθέντων πινάκων, μπορεί να υπάρχουν εναλλακτικές επιλογές σχεδιασμού, που μπορεί όλες να είναι σε 3NF ή BCNF. Μπορεί η μια να αντικαθίσταται από άλλη. Μια σχέση της μορφής R(K, A, B, C, D, ) που είναι σε BCNF μπορεί να αποθηκευθεί σε πολλούς πίνακες που είναι επίσης σε BCNF επαναλαμβάνοντας το κλειδί K σε κάθε πίνακα. Γνωρίσματα από ένα πίνακα μπορεί να επαναλαμβάνονται σε έναν άλλο αν και αυτό δημιουργεί πλεονασμό και ενδεχόμενη ανωμαλία. Αν είναι απαραίτητο να εφαρμοσθεί τόσο οριζόντια διάσπαση όσο και κατακόρυφη. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-17
Ρύθμιση του σχεδιασμού της βάσης δεδομένων (7) Ρύθμιση Ερωτήσεων Ενδείξεις για ρύθμιση ερωτήσεων Μια ερώτηση δημιουργεί πάρα πολλές προσπελάσεις στο δίσκο A Το σχέδιο εκτέλεσης της ερώτησης δείχνει ότι δεν χρησιμοποιούνται τα σχετικά ευρετήρια. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-18
Ρύθμιση του σχεδιασμού της βάσης δεδομένων (8) Ρύθμιση ερωτήσεων (συν.): Τυπικά στιγμιότυπα για ρύθμιση ερωτήσεων Σε μερικές περιπτώσεις που περιλαμβάνουν σχετιζόμενες ερωτήσεις, είναι χρήσιμα προσωρινά αποτελέσματα. Αν είναι πιθανές πολλές επιλογές για συνθήκες συνένωσης, επιλέξτε μια που χρησιμοποιεί ευρετήριο συστάδα και αποφύγετε αυτές που περιλαμβάνουν σύγκριση συμβολοσειρών. Η σειρά των πινάκων στην πρόταση FROM μπορεί να επιδράσει στη διαδικασία συνένωσης. Κάποιοι βελτιστοποιητές έχουν χειρότερη απόδοση σε εμφωλευμένες ερωτήσεις σε σύγκριση με τις μη εμφωλευμένες αντίστοιχές τους. Πολλές εφαρμογές βασίζονται σε όψεις που ορίζουν τα δεδομένα που αφορούν τις εφαρμογές αυτές. Μερικές φορές αυτές οι όψεις γίνονται καταστροφικές. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-19
Ρύθμιση του σχεδιασμού της βάσης δεδομένων (9) Επιπλέον οδηγίες ρύθμισης ερωτήσεων Μια ερώτηση με πολλές συνθήκες επιλογής που συνδέονται με OR μπορεί να μην ωθεί τον βελτιστοποιητή στη χρήση κάποιου ευρετηρίου. Μια τέτοια ερώτηση μπορεί να διασπασθεί και να εκφρασθεί σαν ένωση ερωτήσεων, κάθε μια με μια συνθήκη σε ένα γνώρισμα που προκαλεί την χρήση ενός ευρετηρίου. Εφαρμόστε τους παρακάτω μετασχηματισμούς Η συνθήκη NOT μπορεί να μετασχηματίζεται σε μια θετική έκφραση. Ενσωματωμένα SELECT μπλοκ μπορεί να αντικαθίστανται από συνενώσεις. Αν μεταξύ δύο πινάκων τίθεται μια συνένωση ισότητας, το κατηγόρημα διαστήματος στο γνώρισμα συνένωσης στον ένα πίνακα μπορεί να επαναληφθεί για τον άλλο πίνακα Οι WHERE συνθήκες μπορούν να γραφούν ξανά για να χρησιμοποιήσουν τα ευρετήρια σε πολλαπλές στήλες. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-20
Σύνοψη Φυσικός Σχεδιασμός Σχεσιακών Βάσεων Δεδομένων Ρύθμιση Βάσεων δεδομένων σε σχεσιακά συστήματα Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-21