Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων"

Transcript

1 Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων 1. Συγκεντρωτικά συστήματα Β 2. Συστήματα πελάτη - εξυπηρετητή (client-server) 3. Παράλληλα συστήματα Β 4. Κατανεμημένα συστήματα Β 5. Συστήματα Ομότιμων Κόμβων (p2p) Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Συγκεντρωτικά συστήματα Παράδειγμα συγκεντρωτικού συστήματος Εκτελούνται σε ένα μόνο υπολογιστικό σύστημα και δεν αλληλεπιδρούν με άλλα υπολογιστικά συστήματα Γενικής χρήσης υπολογιστικό σύστημα: μία ή το πολύ λίγες CPUs και ένας αριθμός device controllers που συνδέονται διαμέσου ενός κοινού διαύλου (bus), ο οποίος παρέχει πρόσβαση σε διαμοιρασμένη μνήμη. Σύστημα ενός χρήστη (π.χ. προσωπικός υπολογιστής ή σταθμός εργασίας): συνήθως έχει μία μόνο CPU και ένα ή δύο σκληρούς δίσκους, το λειτουργικό σύστημα μπορεί να υποστηρίξει μόνο έναν χρήστη. Σύστημα πολλαπλών χρηστών: περισσότεροι δίσκοι, μεγαλύτερη μνήμη, πολλαπλές CPUs, και λειτουργικό σύστημα πολλαπλών χρηστών. Εξυπηρετεί έναν μεγάλο αριθμό χρηστών οι οποίοι είναι συνδεδεμένοι στο σύστημα μέσω τερματικών. Συχνά καλείται σύστημα εξυπηρετητή (server system). Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Συστήματα πελάτη - εξυπηρετητή Συστήματα πελάτη εξυπηρετητή (συν.) Το σύστημα εξυπηρετητή (server) ικανοποιεί αιτήσεις που παράγονται από m συστήματα πελατών (clients): Πλεονεκτήματα Απλή υλοποίηση Αξιοποίηση «ακριβών» εξυπηρετητών Περιβάλλον χρήστη προσαρμοσμένο στις ανάγκες του Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Πλεονεκτήματα της αντικατάστασης των mainframes με δίκτυα σταθμών εργασίας ή προσωπικών υπολογιστών συνδεδεμένων σε back-end εξυπηρετητές: Καλύτερη λειτουργικότητα σε σχέση με το κόστος Ευελιξία στην ανάθεση πόρων (resource allocation) Καλύτερα user interfaces Ευκολότερη συντήρηση Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 1

2 Συστήματα πελάτη εξυπηρετητή (συν.) Η λειτουργικότητα της βάσης δεδομένων μπορεί να χωριστεί σε: Back-end: διαχειρίζεται τις δομές προσπέλασης στα δεδομένα, την αξιολόγηση και βελτιστοποίηση των επερωτήσεων, τον έλεγχο συγχρονισμού (concurrency control) και ανάκτησης (recovery). Front-end: αποτελείται από εργαλεία για δημιουργία φορμών, αναφορών και γραφικών user interfaces Η διασύνδεση μεταξύ front-end και back-end γίνεται με την SQL ή μέσω ενός προγράμματος εφαρμογής (API). Συστήματα πελάτη εξυπηρετητή (συν.) Οι εξυπηρετητές μπορούν να κατηγοριοποιηθούν σε δύο είδη: Εξυπηρετητές δοσοληψιών (transaction servers) οι οποίοι χρησιμοποιούνται κυρίως σε Σχεσιακά Σ Β, και Εξυπηρετητές δεδομένων (data servers), οι οποίοι συνήθως χρησιμοποιούνται σε Αντικειμενοστραφή Σ Β Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Εξυπηρετητές οσοληψιών Ονομάζονται και query servers ή SQL server systems. 1. Οι πελάτες στέλνουν αιτήματα στον εξυπηρετητή, όπου εκτελούνται οι δοσοληψίες, και τα αποτελέσματα επιστρέφονται στον πελάτη. 2. Τα αιτήματα εκφράζονται σε SQL και μεταφέρονται στον εξυπηρετητή μέσω ενός μηχανισμού κλήσης απομακρυσμένης διαδικασίας (remote procedure call - RPC). Πολλές κλήσεις RPC μπορούν να σχηματίσουν μία συλλογική δοσοληψία. Το πρότυπο Open Database Connectivity (ODBC) είναι ένα API, γραμμένο σε C από την Microsoft, για διασύνδεση σε έναν εξυπηρετητή, αποστολή αιτημάτων σε SQL και λήψη αποτελεσμάτων Το πρότυπο JDBC είναι παρόμοιο με το ODBC, γραμμένο σε Java Εξυπηρετητές οσοληψιών (συν.) Ένας τυπικός εξυπηρετητής δοσοληψιών αποτελείται από πολλαπλές διεργασίες πρόσβασης δεδομένων σε διαμοιρασμένη μνήμη. Οι διεργασίες λαμβάνουν τις επερωτήσεις των χρηστών, σε μορφή δοσοληψιών, τις εκτελούν και στέλνουν πίσω τα αποτελέσματα. Oι διεργασίες μπορεί να είναι πολυνηματικές (multithreaded), δηλαδή μία μοναδική διεργασία μπορεί να εκτελέσει αρκετές επερωτήσεις ταυτόχρονα. Η διαμοιρασμένη μνήμη περιλαμβάνει διαμοιρασμένα δεδομένα Όλες οι διεργασίες μπορούν να προσπελάσουν τη διαμοιρασμένη μνήμη Για να εξασφαλιστεί ότι δύο διεργασίες δεν έχουν πρόσβαση στα ίδια δεδομένα ταυτόχρονα, τα συστήματα πελάτη-εξυπηρετητή εκτελούν αμοιβαίο αποκλεισμό (mutual exclusion) π.χ. με semaphores λειτουργικού συστήματος Θέμα: άνοιγμα cursor (δρομέα!) και η φόρτωση πλειάδων μία τη φορά έχει μεγάλο κόστος Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Εξυπηρετητές οσοληψιών (συν.) Εξυπηρετητές εδομένων Μεταφέρονται δεδομένα στις μηχανές πελατών όπου και εκτελείται η επεξεργασία τους, και κατόπιν μεταφέρονται τα αποτελέσματα πίσω στη μηχανή του εξυπηρετητή. Χρησιμοποιούνται στα τοπικά δίκτυα LAN, όπου η σύνδεση ανάμεσα στον πελάτη και στον εξυπηρετητή είναι υψηλής ταχύτητας, οι μηχανές πελάτη είναι συγκρίσιμες σε δύναμη επεξεργασίας με τη μηχανή του εξυπηρετητή και οι εργασίες που πρόκειται να εκτελεστούν είναι «βαριές» υπολογιστικά (compute intensive). Θέματα που υπεισέρχονται: Μεταφορά σελίδας (page-shipping) ή στοιχείου (item-shipping) Κλειδώματα εδομένα στην cache Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 2

3 Εξυπηρετητές εδομένων (συν.) Εξυπηρετητές εδομένων (συν.) εδομένα στην cache εδομένα μπορεί να γίνουν cached στον πελάτη ακόμα και στο ενδιάμεσο των δοσοληψιών Απαραίτητος είναι ο έλεγχος των δεδομένων προτού χρησιμοποιηθούν. Ο έλεγχος μπορεί να γίνει τη στιγμή που υπάρχει αίτηση κλειδώματος στα δεδομένα αυτά Μεταφορά σελίδας ή Μεταφορά στοιχείου (διακριτότητα) Μικρότερη μονάδα μεταφοράς περισσότερα μηνύματα Αξίζει να γίνει προανάκτηση (prefetching) στοιχείων σχετικών με αυτά για τα οποία γίνεται η αίτηση Η μεταφορά σελίδας μπορεί να θεωρηθεί σαν μία μορφή προανάκτησης Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Εξυπηρετητές εδομένων (συν.) Αρχιτεκτονικές ΚΣ Β (περίληψη) Κλειδώματα Λόγω των καθυστερήσεων των μηνυμάτων, συχνά υπάρχουν υπερβολικές αιτήσεις και παροχές κλειδωμάτων από τον εξυπηρετητή Ερώτηση ΠΕΛΑΤΗΣ ΠΕΛΑΤΗΣ Κλειδώματα σε ένα προανακτημένο στοιχείο μπορεί να ξαναζητηθούν από τον εξυπηρετητή και να επιστραφούν εάν το στοιχείο αυτό δεν έχει χρησιμοποιηθεί. Πελάτη-Εξυπηρέτη ΕΞΥΠΗΡΕΤΗΣ ΕΞΥΠΗΡΕΤΗΣ ΕΞΥΠΗΡΕΤΗΣ Οπελάτης στέλνει (ships) την ερώτηση σε μία πλευρά. Η επεξεργασία της ερώτησης γίνεται στον εξυπηρέτη. ΕΞΥΠΗΡΕΤΗΣ Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Αρχιτεκτονικές ΚΣ Β (περίληψη) Παράλληλα Συστήματα Συνεργαζόμενων εξυπηρετητών Μια ερώτηση εκτελείται σε πολλές πλευρές Τα παράλληλα συστήματα Β αποτελούνται από ένα σύνολο πολλών επεξεργαστών και πολλών δίσκων δια-συνδεδεμένων σε ένα γρήγορο δίκτυο. ΕΞΥΠΗΡΕΤΗΣ ΕΞΥΠΗΡΕΤΗΣ ΕΞΥΠΗΡΕΤΗΣ Μία coarse-grain παράλληλη μηχανή αποτελείται από ένα μικρό αριθμό ισχυρών επεξεργαστών Μία μαζικά παράλληλη (massively parallel) ή fine grain παράλληλη μηχανή χρησιμοποιεί χιλιάδες μικρότερους επεξεργαστές ερώτηση Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 3

4 Παράλληλα και Κατανεμημένα Συστήματα Παράλληλα Συστήματα Απόδοση Αυξημένη διαθεσιμότητα Κατανεμημένη πρόσβαση στα δεδομένα Παράλληλα Κατανεμημένα Π: Βελτίωση της απόδοσης με παράλληλες λειτουργίες Κ: Τα δεδομένα είναι σε φυσικό επίπεδο αποθηκευμένα σε διάφορες τοποθεσίες και μπορεί να τα διαχειρίζεται διαφορετικό Σ Β ύο κύρια μέτρα απόδοσης: Ρυθμός εξόδου ή ολοκλήρωσης (throughput): ο αριθμός των εργασιών που μπορούν να ολοκληρωθούν σε συγκεκριμένο χρονικό διάστημα Χρόνος απόκρισης (response time): ο χρόνος που απαιτείται για να ολοκληρωθεί μία εργασία από τη στιγμή που θα υποβληθεί Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 Παραδείγματα ικτύων ιασύνδεσης Αρχιτεκτονικές Παράλληλων ΣΒ ιαμοιρασμένη μνήμη (shared memory): οι επεξεργαστές μοιράζονται κοινή μνήμη ιαμοιρασμένο σύστημα δίσκων (shared disk): οι επεξεργαστές μοιράζονται κοινό σύστημα δίσκων «Τίποτα» διαμοιρασμένο (shared nothing): οι επεξεργαστές ΕΝ μοιράζονται ούτε κοινή μνήμη ούτε κοινό δίσκο Ιεραρχική: υβριδική αρχιτεκτονική συνδυασμός των παραπάνω Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) Κατανεμημένα Συστήματα Τα δεδομένα είναι απλωμένα σε πολλές μηχανές, που ονομάζονται «τόποι» (sites) ή «κόμβοι» (nodes), οι μηχανές είναι διασυνδεδεμένες μέσω ενός δικτύου (LAN ή WAN) Τα δεδομένα είναι κοινά για χρήστες που τα προσπελαύνουν από πολλές μηχανές Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 4

5 Είδη ΚΒ Αρχιτεκτονικές (ανακεφαλαίωση) Ομογενή: Κάθε πλευρά τρέχει τον ίδιο τύπο Σ Β Ετερογενή : Κάθε πλευρά τρέχει διαφορετικά Σ Β (διαφορετικά σχεσιακά Σ Β ή και μη-σχεσιακά Σ Β ) ενδιάμεσο λογισμικό Gateway (πύλη) Wrapper ΣΔΒΔ1 ΣΔΒΔ2 ΣΔΒΔ3 Κεντρικοποιημένες Πελάτη-Εξυπηρέτη οσοληψιών εδομένων Παράλληλη ιαμοιραζόμενη ή όχι μνήμη και δίσκοι Κατανεμημένη Ομογενή Ετερογενή Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Κατανεμημένα Συστήματα Γενικές Ιδιότητες Κατανεμημένες Βάσεις εδομένων Ανεξαρτησία των Κατανεμημένων εδομένων: Οι χρήστες δεν πρέπει να γνωρίζουν που βρίσκονται τα δεδομένα (επέκταση της Φυσικής και Λογικής Ανεξαρτησίας) Ατομικότητα των Κατανεμημένων Συναλλαγών Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Κατανεμημένες Β Κατανεμημένες Β Ομογενείς Κατανεμημένες Β Το ίδιο λογισμικό και σχήμα Β σε όλους τους κόμβους, τα δεδομένα είναι μοιρασμένα μεταξύ των κόμβων. Στόχος: να φαίνεται σαν μια ενιαία Β, κρύβοντας την κατανομή της σε κόμβους Ετερογενείς Κατανεμημένες Β ή Σύστημα Πολλαπλών Β (multidatabases) ιαφορετικό λογισμικό και σχήμα Β από κόμβο σε κόμβο Στόχος: η ολοκλήρωση διαφορετικών Β που ήδη υπάρχουν ιάκριση μεταξύ τοπικών (local) και γενικών (global) δοσοληψιών Μια τοπική δοσοληψία προσπελαύνει δεδομένα στον κόμβο από τον οποίο προήλθε. Μια γενική δοσοληψία είτε προσπελαύνει δεδομένα σε κόμβο διαφορετικό από αυτόν από τον οποίο προήλθε είτε προσπελαύνει δεδομένα σε πολλούς κόμβους. Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 5

6 Κατανεμημένες Β (συν.) Θέματα Χαρακτηριστικά Κατανεμημένων Β ιαμοίραση δεδομένων: οι χρήστες ενός κόμβου μπορούν να προσπελάσουν δεδομένα που βρίσκονται σε άλλο κόμβο Αυτονομία: κάθε κόμβος μπορεί να έχει έλεγχο στα «δικά του» δεδομένα. Πλεονασμός (redundancy): τα ίδια δεδομένα μπορούν να επαναληφθούν σε διαφορετικούς κόμβους (διπλο-αποθήκευση) ώστε το σύστημα να λειτουργήσει ακόμη και αν κάποιος τόπος «πέσει» 1. Αποθήκευση εδομένων (κατατεμαχισμός, αντίγραφα (ομοιότυπα) 2. Επεξεργασία Ερωτήσεων 3. Επεξεργασία οσοληψιών Μειονέκτημα: η πρόσθετη πολυπλοκότητα που απαιτείται για τον συντονισμό των κόμβων (κόστος ανάπτυξης λογισμικού, αυξημένη πιθανότητα bugs, επιπλέον επεξεργασία/συντήρηση κλπ.) Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Αποθήκευση Αποθήκευση εδομένων Σε ένα κατανεμημένο Σ Β πολλοί κόμβοι πως μοιράζουμε τα δεδομένα στους κόμβους Έστω μια σχέση r. Πως θα μπορούσε να αποθηκευτεί σε μια κατανεμημένη βάση δεδομένων; Τεμαχισμός (τμηματοποίηση) (fragmentation): «κόβουμε» τη σχέση σε τμήματα και τα τοποθετούμε σε διαφορετικούς κόμβους Αντίγραφα (ομοιότυπα) Τεμαχισμός και αντίγραφα Τοποθέτηση (allocation) Τεμαχισμός (fragmentation) Οριζόντιος (horizontal) Κάθετος(vertical) Υβριδικός TID t1 t2 t3 t4 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Οριζόντιος Κάθετος Οριζόντιος Τεμαχισμός (horizontal fragmentation) Με βάση κάποια συνθήκη -- πράξη (σ) Συνήθως ξένα Πως παίρνουμε πάλι την αρχική σχέση; Κάθετος Τεμαχισμός (vertical fragmentation) με βάση ποια πράξη (προβολή π) πως παίρνουμε την αρχική σχέση χωρίς απώλειες στη συνένωση; tids. TID t1 t2 t3 t4 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 6

7 Αποθήκευση εδομένων Κατάλογος Συστήματος Αντίγραφα -- Ομοιοτυπία (Replication) ιατήρηση πληροφορίας για την κατανομή των δεδομένων στους κόμβους ιαθεσιμότητα Γρηγορότερος υπολογισμός ερωτήσεων. Σύγχρονος και Ασύγχρονος υπολογισμός ενημέρωση αντιγράφων. R1 R3 Κόμβος A Θέματα Μοναδικά ονόματα Αρχιτεκτονικές/ ομή Καταλόγου R1 R2 Κόμβος Β Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Κατάλογος Συστήματος Θέματα Όνομα για κάθε αντίγραφο σε κάθε κόμβο. ιατήρηση τοπικής αυτονομίας <local-name, birth-site> Συγκεντρωτικές κατάλογος (και αντίγραφά του) αποτυχίες και ενημερώσεις Κατάλογος σε κάθε κόμβο: (τοπικός κατάλογος) Περιγράφει κάθε αντικείμενο (τεμάχιο, αντίγραφο) που είναι αποθηκευμένα στον κόμβο + (κατάλογος καταγωγής) Κρατά πληροφορία για τα αντίγραφα των σχέσεων που δημιουργήθηκαν στον κόμβο. 1. Αποθήκευση εδομένων (τεμαχισμός, αντίγραφα -ομοιότυπα) 2. Επεξεργασία Ερωτήσεων 3. Επεξεργασία οσοληψιών Εύρεση σχέσης, αναζήτηση στον κατάλογο στον κόμβο που δημιουργήθηκε. Ο κόμβος που δημιουργήθηκε η σχέση δεν αλλάζει ακόμα και αν η σχέση μετακινηθεί. Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Επεξεργασία Ερωτήσεων Εκτός του Ι/Ο κόστους (D), το κόστος μετάδοσης δεδομένων (T) στο δίκτυο Πιθανό κέρδος από το ό,τι διάφοροι κόμβοι μπορεί να επεξεργάζονται μια ερώτηση παράλληλα (ταυτόχρονα): διαφορά συνολικού χρόνου υπολογισμού και χρόνου απόκρισης Παράδειγμα Sailors(sid, sname, rating, age) Reserves(sid, bid, day, rname) Reserves: 40 bytes ανά πλειάδα - μία σελίδα 100 πλειάδες σελίδες πλειάδες Sailors: 50 bytes ανά πλειάδα - μία σελίδα 80 πλειάδες 500 σελίδες πλειάδες SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7 Επεξεργασία Ερωτήσεων Οριζόντιος τεμαχισμός: Οι πλειάδες με rating < 5 στη Shanghai, >= 5 στοtokyo. Πρέπει να υπολογίσουμε SUM(age), COUNT(age) και στους δύο κόμβους. Αν το WHERE περιείχε μόνο S.rating > 6, θα αρκούσε ο υπολογισμός σε έναν μόνο κόμβο. Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 41 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 42 7

8 Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων SELECT... FROM Sailors S WHERE S.rating > κ1 AND S.rating < κ2 Οριζόντιος τεμαχισμός: Οι πλειάδες S1 με rating < 5 στη Shanghai, oι πλειάδες S2 με rating >= 5 στοtokyo. Μετασχηματισμoί της ερώτησης Οριζόντιος σ S.rating > κ1 and S.rating < κ2 (S) = τεμαχισμός σ S.rating > κ1 and S.rating < κ2 (S1 S2) = σ S.rating > κ1 and S.rating < κ2 σ S.rating > κ1 and S.rating < κ2 σ S.rating > κ1 and S.rating < κ2 σ S.rating > κ1 and S.rating < κ2 (S1) Εκτέλεση στη Shanghai (S2) (σ S.rating < 5 (S)) (σ S.rating >= 5 (S)) SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7 Κάθετος τεμαχισμός: sid και rating στη Shanghai, sname and age στοtokyo, tid και στους δύο κόμβους. Πρέπει πρώτα να ξανά-σχηματιστεί η σχέση με συνένωση στο tid, και μετά να υπολογιστεί η ερώτηση Εκτέλεση στο Tokyo υνατές απλοποιήσεις; Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 43 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 44 Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων SELECT... FROM Sailors S WHERE S.rating > κ1 AND S.rating < κ2 Κάθετος κατατεμαχισμός: sid και rating στη Shanghai, sname and age στοtokyo, tid και στους δύο κόμβους. Μετασχηματισμoί της ερώτησης σ S.rating > κ1 and S.rating < κ2 (S) = σ S.rating > κ1 and S.rating < κ2 (S1 * S2) = Κάθετος κατατεμαχισμός SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7 Αντίγραφα: αντίγραφα της σχέσης Sailors και στους δύο κόμβους. Επιλογή του κόμβου με βάση το τοπικό κόστος και το κόστος για την μεταφορά του αποτελέσματος Γενική παρατήρηση: Συνυπολογισμός τους κόστους για τη μεταφορά του αποτελέσματος στον κόμβο στον οποίον υποβλήθηκε η ερώτηση Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 45 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 46 Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση LONDON S PARIS R LONDON S PARIS R D κόστος εγγραφής/ανάγνωσης σελίδας Τ κόστος μεταφοράς σελίδας 500 pages 1000 pages Μεταφορά όταν χρειάζεται, Εμφωλευμένος βρόγχος με τη σχέση S στον εξωτερικό βρόγχο : Κόστος: 500 D * 1000 (D+Τ) αν δε έχουμε cache Αν χρειάζεται μεταφορά αποτελέσματος: Κόστος Μεταφοράς Μέγεθος αποτελέσματος πλειάδες μεγέθους = 90 bytes σελίδες Βάσεις Δεδομένων II Ευαγγελία Πιτουρά pages 1000 pages Μεταφορά όταν χρειάζεται, Εμφωλευμένος βρόγχος με τη σχέση S στον εξωτερικό βρόγχο (συνέχεια): Αν η ερώτηση δεν είχε υποβληθεί στο Λονδίνο πρέπει να προσθέσουμε και το κόστος μεταφοράς του αποτελέσματος στον κόμβο που αρχικά υποβλήθηκε η ερώτηση Ο υπολογισμός μπορεί επίσης να γίνει στο Παρίσι Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 48 8

9 Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση Επεξεργασία Ερωτήσεων: Ημι-Συνένωση Ημι-συνένωση LONDON S PARIS 500 pages 1000 pages Μεταφορά όλης της σχέσης σε έναν κόμβο: μεταφορά της R στο Λονδίνο Κόστος: 1000 Τ D (με ταξινόμηση/συγχώνευση: κόστος = 3*( )D Αν το μέγεθος του αποτελέσματος είναι πολύ μεγάλο, μπορεί να συμφέρει να μεταφέρουμε και τις δύο σχέσεις στον κόμβο υποβολής της ερώτησης και να υπολογίσουμε τη συνένωση εκεί R LONDON S 500 pages PARIS R 1000 pages Ιδέα: Αποφυγή μεταφοράς όλης της σχέσης R στο Λονδίνο αλλά μεταφορά μόνο των πλειάδων που συνενώνονται με πλειάδες της S Πως; Πρέπει να καθορίσουμε ποιες είναι αυτές οι πλειάδες Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 49 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 50 Ημι-συνένωση LONDON S 500 pages Επεξεργασία Ερωτήσεων: Ημι-Συνένωση PARIS R 1000 pages Βήμα 1: Στο Λονδίνο, προβολή (project) S στις στήλες του join Μεταφορά του αποτελέσματος στο Παρίσι Βήμα 2: Στο Παρίσι, συνένωση της προβολής S με τη R. Το αποτέλεσμα ονομάζεται Ελάττωση (reduction) της R σε σχέση με τη S. Μεταφορά της ελάττωσης της σχέσης R στο Λονδίνο Βήμα 3: Στο Λονδίνο, συνένωση S με την ελάττωση της R. Παράδειγμα Sailors(sid, sname, rating, age) Reserves(sid, bid, day, rname) Επεξεργασία Ερωτήσεων Reserves: 40 bytes ανά πλειάδα - μία σελίδα 100 πλειάδες σελίδες πλειάδες Sailors: 50 bytes ανά πλειάδα - μία σελίδα 80 πλειάδες 500 σελίδες πλειάδες Πεδίο συνένωσης sid 10 bytes Βήμα 1: 500 D (σάρωση S) D (προσωρινό αποτέλεσμα) (διπλότιμα;) 100 T (για τη μεταφορά) Βήμα 2: 3 ( ) = D (για τον υπολογισμό της ελάττωσης) 20% συμμετοχή τότε 200 D (μεταφορά) Βήμα 3: 3 ( ) D = D Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 51 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 52 Ημι-συνένωση (συνέχεια) LONDON S 500 pages Επεξεργασία Ερωτήσεων: Ημι-Συνένωση PARIS R 1000 pages Ιδέα: Αποφυγή μεταφοράς όλης της σχέσης R στο Λονδίνο -- με την επιβάρυνση του υπολογισμού και της μεταφοράς της προβολής της S και του υπολογισμού της συνένωσης της προβολής με τη R κέρδος; Πότε; Ιδιαίτερα χρήσιμο όταν υπάρχει μια συνθήκη επιλογής στη σχέση S, και η απάντηση πρέπει να δοθεί στο Λονδίνο Σύζευξη Bloom Επεξεργασία Ερωτήσεων (Βήμα 1) Αντί της προβολής, στέλνουμε ένα δυαδικό διάνυσμα μεγέθους k Κατακερματίζουμε κάθε πλειάδα της σχέσης S σε έναν αριθμό 0 έως k-1 (Βήμα 2) O υπολογισμός της ελάττωσης χρησιμοποιεί το διάνυσμα Κάθε πλειάδα της R χρησιμοποιώντας την ίδια συνάρτηση κατακερματισμού Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 53 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 54 9

10 Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων Θέματα 1. Συγκεντρωτικά συστήματα Β 2. Συστήματα πελάτη - εξυπηρετητή (client-server) 3. Παράλληλα συστήματα Β 4. Κατανεμημένα συστήματα Β 5. Συστήματα Ομότιμων Κόμβων (p2p) Κατανεμημένα Συστήματα 1. Αποθήκευση εδομένων (τεμαχισμός, αντίγραφα -ομοιότυπα) 2. Επεξεργασία Ερωτήσεων εκτέλεση κατανεμημένης συνένωσης 3. Επεξεργασία οσοληψιών Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 55 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 56 Άσκηση 21.8 (α) (β) Παράδειγμα Επεξεργασία Ερωτήσεων Ε(Eid, Did, Sal) σελίδες D(Did, Mgrid, Budget) σελίδες Μέγεθος πλειάδας 20 bytes, sal, budget ομοιόμορφα κατανεμημένες τιμές από 0 έως Ι/0 td Επικοινωνία ts Συνολικός Χρόνος και Χρόνος Απόκρισης (απαιτούμενος χρόνος) 10 τοποθεσίες D διαμερίζονται οριζόντια, ίσο αριθμό πλειάδων σε κάθε τοποθεσία, χωρίς κάποια σειρά Ε διαμερίζονται οριζόντια, με βάση το sal, sal , < sal κλπ Αντίγραφα του sal σε κάθε τοποθεσία Κατανεμημένη Εκτέλεση της συνένωσης: R1 Join R2 Join R3 Join Rn Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 57 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 58 Επεξεργασία Ερωτήσεων (ανακεφαλαίωση) Θέματα Κατασκευή ολικού πλάνου αντικατάσταση σχέσεων με τα τεμάχια τους -> προτεινόμενα τοπικά πλάνα Υπολογισμός όλων των πλάνων - επιλογή αυτού με το μικρότερο κόστος ιαφορά 1: Κόστος επικοινωνίας ιαφορά 2: Τοπική αυτονομία κάθε κόμβου (δηλαδή, κάθε κόμβος αποφασίζει τοπικά τον καλύτερο τρόπο να υπολογίσει κάθε τοπική υπο-ερώτηση ιαφορά 3: Νέοι τρόποι υπολογισμού κατανεμημένης συνένωσης 1. Αποθήκευση εδομένων (διαμέριση, αντίγραφα (ομοιότυπα) 2. Επεξεργασία Ερωτήσεων 3. Επεξεργασία οσοληψιών Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 59 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 60 10

11 Ενημέρωση Κατανεμημένων εδομένων Ενημέρωση Κατανεμημένων εδομένων Πολλαπλά αντίγραφα δεδομένων 1. ιαχείριση αντιγράφων 2. Κατανεμημένη ιαχείριση οσοληψιών 3. Κατανεμημένη Ανάρρωση από Αποτυχίας Σύγχρονη Ενημέρωση Αντιγράφων: Όλα τα αντίγραφα μιας τροποποιημένης σχέσης (τεμάχια) πρέπει να τροποποιηθούν πριν την επικύρωση της δοσοληψίας Η κατανομή των δεδομένων είναι αδιαφανής (transparent) στους χρήστες Ασύγχρονη Ενημέρωση Αντιγράφων : Τα αντίγραφα μιας σχέσης ενημερώνονται περιοδικά, διαφορετικά αντίγραφα μπορεί στα ενδιάμεσα διαστήματα να μην είναι ενημερωμένα (out of synch) Οι χρήστες γνωρίζουν την κατανομή των δεδομένων Πολλά εμπορικά συστήματα ακολουθούν αυτήν την προσέγγιση Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 61 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 62 Σύγχρονη Ενημέρωση Αντιγράφων Σύγχρονη Ενημέρωση Αντιγράφων Μέθοδος της Πλειοψηφίας: Μια δοσοληψία πρέπει να γράψει την πλειοψηφία των αντιγράφων για να τροποποιήσει ένα αντικείμενο - - πρέπει να διαβάσει αρκετά αντίγραφα έτσι ώστε να δει τουλάχιστον ένα καινούριο (πιο πρόσφατο) αντίγραφο Για παράδειγμα, 10 αντίγραφα, 7 να γραφούν για τροποποίηση, 4 αντίγραφα για ανάγνωση Κάθε αντίγραφο έχει έναν αριθμό έκδοσης Πρόβλημα γιατί συνήθως οι αναγνώσεις είναι πιο συχνές από τις εγγραφές Read-any Write-all: Με τη μέθοδο της πλειοψηφίας, οι εγγραφές είναι αργές και οι αναγνώσεις πιο γρήγορες Η πιο συνηθισμένη προσέγγιση στη σύγχρονη ενημέρωση αντιγράφων Η επιλογή της τεχνικής καθορίζει ποια κλειδιά πρέπει να ζητηθούν Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 63 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 64 Σύγχρονη Ενημέρωση Αντιγράφων Ασύγχρονη Ενημέρωση Αντιγράφων Πριν επικυρωθεί μια δοσοληψία (που περιλαμβάνει τροποποιήσεις) πρέπει να αποκτήσει κλειδιά σε όλα τα τροποποιημένα αντίγραφα Στέλνει αιτήσεις για κλειδιά σε απομακρυσμένους κόμβους και ενώ περιμένει για απάντηση κρατά τα άλλα κλειδιά Αν ένας κόμβος ή μια σύνδεση πέσει (αποτύχει), η δοσοληψία δε μπορεί να επικυρωθεί μέχρι να επιστρέψουν σε λειτουργία Ακόμα και αν δεν υπάρξει αποτυχία, η επικύρωση πρέπει να ακολουθήσει ένα ακριβό πρωτόκολλο επικύρωσης (commit protocol) με πολλά μηνύματα. Ασύγχρονη ενημέρωση των αντιγράφων Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 65 Επιτρέπει την επικύρωση (commit) μιας δοσοληψίας πριν να επικυρωθεί η ενημέρωση όλων των αντιγράφων (και οι αναγνώσεις μπορεί να διαβάζουν μόνο ένα αντίγραφο). Οι χρήστες γνωρίζουν ποιο αντίγραφο διαβάζουν και ότι τα αντίγραφα μπορεί να μην είναι ενημερωμένα για κάποια μικρά χρονικά διαστήματα ύο προσεγγίσεις: Πρωτεύον Κόμβος (primary site) και Peer-to-Peer: Bάσει του αριθμού των αντιγράφψν που μπορούν να ενημερωθούν (master copies) Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 66 11

12 Ασύγχρονη Ενημέρωση Αντιγράφων Ασύγχρονη Ενημέρωση Αντιγράφων Πρωτεύουσα Αντιγραφή Τροποποίηση ακριβώς ενός αντιγράφου μιας σχέσης (αντικειμένου) χαρακτηρίζεται ως πρωτεύον ή master αντίγραφο. Αντίγραφα σε άλλους κόμβους δε μπορούν να τροποποιηθούν άμεσα. Κοινοποιείται ποιο είναι το πρωτεύον αντίγραφο. Οι άλλοι κόμβοι εγγράφονται σε (τεμάχια) της σχέσης, είναι δευτερεύοντα αντίγραφα. Βασικό Θέμα: Πως οι τροποποιήσεις στο πρωτεύον αντίγραφο μεταδίδονται στα δευτερεύοντα αντίγραφα Γίνεται σε δύο βήματα Εντοπισμός των αλλαγών Εφαρμογή των αλλαγών Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 67 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 68 Ασύγχρονη Ενημέρωση Αντιγράφων Ασύγχρονη Ενημέρωση Αντιγράφων Εντοπισμός των Αλλαγών Log-Based Εντοπισμός: Το ημερολόγιο του συστήματος (log) που κρατείται για ανάρρωση χρησιμοποιείται για τη δημιουργία ενός πίνακα που καλείται Change Data Table (CDT). Αν αυτό γίνεται όταν το log tail γράφεται στο δίσκο τότε με κάποιο τρόπο να σβηστούν οι τροποποιήσεις που οφείλονται σε δοσοληψίες που απορρίπτονται αργότερα. ιαδικαστικός Εντοπισμός: Μια διαδικασία καλείται αυτόματα (συνήθως παίρνει απλώς ένα στιγμιότυπο). Ο Log-Based εντοπισμός είναι καλύτερος (φθηνότερος, πιο γρήγορος) αλλά βασίζεται σε proprietary λεπτομέρειες του log. Εφαρμογή των Αλλαγών Η διαδικασία της εφαρμογής των αλλαγών στο δευτερεύοντα κόμβο δέχεται περιοδικά από τον πρωτεύοντα κόμβο ένα στιγμιότυπο ή τις αλλαγές και τροποποιεί το αντίγραφο. Η περίοδος είτε ορίζεται από το χρήστη ή την εφαρμογή είτε βασίζεται στο χρόνο. Log-Based εντοπισμός και συνεχής εφαρμογή των αλλαγών ελαχιστοποιεί την καθυστέρηση στη μετάδοση των αλλαγών. ιαδικαστικός εντοπισμός και εφαρμογή που καθορίζεται από τις εφαρμογές είναι ο πιο ευέλικτος τρόπος για τη διαχείριση των αλλαγών. Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 69 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 70 Ασύγχρονη Ενημέρωση Αντιγράφων Ομοτίμων Περισσότερα από ένα master αντίγραφα ενός αντικειμένου (αντίγραφα που μπορεί να τροποποιηθούν) Τροποποιήσεις κάποιου master αντιγράφου πρέπει κάπως να μεταδοθούν στα άλλα αντίγραφα Όταν δυο master αντίγραφα τροποποιούνται με συγκρουόμενο τρόπο, πρέπει να διευθετηθούν οι συγκρούσεις (π.χ., κόμβος 1: η ηλικία του Joe άλλαξε σε 35; Κόμβος 2: σε 36) Προτιμότερη όταν δεν συμβαίνουν συγκρούσεις: Π.χ., κάθε master κόμβος κατέχει ένα ξένο τεμάχιο Π.χ., τροποποίηση δικαιωμάτων που κατέχονται από ένα master τη φορά Κατανεμημένο Κλείδωμα Αντιγράφων Πως γίνεται η διαχείριση των κλειδιών για δεδομένα στους διαφορετικούς κόμβους; Κεντρικά (Centralized): Ένας κόμβος είναι υπεύθυνος για τη διαχείριση όλων των κλειδιών. Αποτυχία του κόμβου; Πρωτεύον αντίγραφο: Η διαχείριση των κλειδιών για ένα αντικείμενο γίνεται στον κόμβο όπου βρίσκεται το πρωτεύον αντίγραφο του αντικειμένου Η ανάγνωση απαιτεί προσπέλαση και στον κόμβο που διαχειρίζεται τα κλειδιά και του κόμβου όπου είναι αποθηκευμένο το αντικείμενο. Πλήρως κατανεμημένη: Η διαχείριση του κλειδιού για ένα αντίγραφο γίνεται στον κόμβο που βρίσκεται το αντίγραφο Η εγγραφή απαιτεί κλειδιά σε όλους τους κόμβους Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 71 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 72 12

13 Κατανεμημένη Ανίχνευση Αδιεξόδων Κάθε κόμβος διατηρεί έναν τοπικό γράφο αναμονής (waits-for graph) Ένα ολικό αδιέξοδο μπορεί να δημιουργηθεί ακόμα και αν οι τοπικοί κόμβοι δεν περιέχουν κύκλους: T1 T2 T1 T2 T1 T2 Κόμβος A Κόμβος B Ολικός Γράφος Τρεις λύσεις: Κατανεμημένη Ανίχνευση Αδιεξόδων Κεντρικοποιημένη (- περιοδική - αποστολή όλων των τοπικών γράφων σε έναν κόμβο) Ιεραρχική (οργάνωση κόμβων σε μια ιεραρχία και αποστολή γράφων στον γονέα στην ιεραρχία) Υπόθεση ότι συχνά αδιέξοδα ανάμεσα σε συσχετιζόμενους κόμβους T1 T2 Περιοδική αποστολή Timeout (απόρριψη μιας δοσοληψίας αν περιμένει για πάρα πολύ). Αυτονομία Αδιέξοδα φαντάσματα (λόγω της καθυστέρησης κατασκευής του γράφου) Αντίστοιχοι deadlock prevention Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 73 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 74 Κατανεμημένη Ανάκαμψη Πρωτόκολλο Επικύρωσης ύο Φάσεων υο νέα θέματα: υο νέα ειδών αποτυχιών, π.χ., συνδέσεις και απομακρυσμένοι κόμβοι. Αν τμήματα μιας δοσοληψίας εκτελούνται σε διαφορετικούς κόμβους όλες ή καμία πρέπει να επικυρωθούν πρωτόκολλο επικύρωσης. ιατηρείται ένα log σε κάθε κόμβο, όπως και στα κεντρικά Σ Β στο οποίο καταγράφονται και οι πράξεις του πρωτοκόλλου Πρωτόκολλο Επικύρωσης ύο Φάσεων (Two Phase Commit Protocol 2PC) Οκόμβος από τον οποίο ξεκίνησε μια δοσοληψία είναι ο συντονιστής (coordinate) -- οι υπόλοιποι κόμβοι που συμμετέχουν στην εκτέλεση της δοσοληψίας ορίζονται ως συμμετέχοντες ή εξαρτημένοι (subordinates). Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 75 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 76 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Όταν μια δοσοληψία πρέπει να επικυρωθεί: Φάση 1 1. Ο συντονιστής στέλνει ένα μήνυμα prepare (προετοιμασίας) σε όλους τους συμμετέχοντες κόμβους. 2. Κάθε συμμετέχον κόμβος force-writes μια εγγραφή abort ή prepare στο log και μετά στέλνει ένα μήνυμα no ή yes στον συντονιστή. (δηλαδή στα κατανεμημένα συστήματα υπάρχουν ειδικές εγγραφές στο log σχετικές με το πρωτόκολλο επικύρωσης) Φάση 2 Αν ο συντονιστής δεχθεί μηνύματα yes από όλους, forcewrites μια εγγραφή commit στο log και μετά στέλνει ένα μήνυμα commit σε όλους τους συμμετέχοντες κόμβους. Αλλιώς, force-writes μια εγγραφή abort στο log και μετά στέλνει ένα μήνυμα abort. Κάθε συμμετέχον κόμβος βάσει του μηνύματος που δέχεται, force-writes μια εγγραφή abort/commit στο log, και μετά στέλνει ένα μήνυμα ack στον συντονιστή. Ο συντονιστής αφού λάβει όλα τα acks γράφει μια εγγραφή end στο log. Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 77 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 78 13

14 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων υο γύροι επικοινωνίας: πρώτα ψηφοφορία (voting) και μετά τερματισμός. Και οι δυο ξεκινούν από τον συντονιστή. Οποιοσδήποτε κόμβος μπορεί να αποφασίσει να απορρίψει μια δοσοληψία. Κάθε μήνυμα αντιστοιχεί σε μια απόφαση του αποστολέα: για την αντιμετώπιση των αποτυχιών αυτή η απόφαση καταγράφεται στο τοπικό log (πριν σταλεί) Όλες οι εγγραφές στο log που αφορούν το πρωτόκολλο επικύρωσης περιέχουν το id της δοσοληψίας Xactid και το id του κόμβου του συντονιστή Coordinatorid. Οι εγγραφές abort/commit στο συντονιστή περιέχουν τα ids όλων των κόμβων που συμμετέχουν Για βελτίωση της απόδοσης, ο συντονιστής μπορεί να μη στείλει μηνύματα abort στους κόμβους που ψήφισαν όχι. Μηνύματα Ack χρησιμοποιούνται για να ειδοποιήσουν τον συντονιστή ότι μπορεί να «ξεχάσει» τη δοσοληψία, μέχρι να λάβει αυτό το μήνυμα πρέπει να κρατά τη δοσοληψία στον πίνακα δοσοληψιών Αν ο συντονιστής αποτύχει αφού στείλει μηνύματα prepare αλλά πριν γράψει τις εγγραφές commit/abort, τότε κάνει τη δοσοληψία abort Αν η δοσοληψία δεν περιλαμβάνει ενημερώσεις, τότε δεν έχει σημασία αν γίνει commit ή abort Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 79 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 80 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Επαναφορά από Αποτυχία Αν για μια δοσοληψία Τ έχουμε μια εγγραφή commit ή abort αλλά δεν έχουμε μια εγγραφή end, πρέπει η Τ να γίνει ή redo ή undo Αν αυτός ο κόμβος είναι ο συντονιστής για την T, θα πρέπει να συνεχίσει να στέλνει μηνύματα commit/abort μέχρι να λάβει acks από όλους τους συμμετέχοντες κόμβους Επαναφορά από Αποτυχία Αν για μια δοσοληψία Τ έχουμε μια εγγραφή prepare αλλά δεν έχουμε μια εγγραφή commit/abort, αυτός ο κόμβος πρέπει να είναι συμμετέχον κόμβος Επαναληπτικά επικοινωνεί με το συντονιστή για να βρει την κατάσταση της Τ, γράφει εγγραφές commit/abort στο log redo/undo T γράφει εγγραφές end στο log Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 81 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 82 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Επαναφορά από Αποτυχία Αν για μια δοσοληψία Τ δεν έχουμε ούτε μια εγγραφή prepare, abort ή undo T. Αυτός ο κόμβος μπορεί να είναι ο συντονιστής. Σε αυτήν την περίπτωση μπορεί οι συμμετέχοντες να στείλουν μηνύματα. Τότε διαπιστώνει ο κόμβος ότι ήταν ο συντονιστής και απαντά αρνητικά Αν ο συντονιστής για την T αποτύχει, οι συμμετέχοντες κόμβοι που έχουν ψηφίσει yes δεν μπορούν να αποφασίσουν αν θα πρέπει να επικυρώσουν ή να ακυρώσουν την T μέχρι να αναρρώσει ο συντονιστής. T είναι αποκλεισμένη - blocked. Ακόμα και αν όλοι οι συμμετέχοντες κόμβοι γνωρίζουν ο ένας τον άλλο (επιπλέον overhead στα μηνύματα prepare) δεν μπορούν να αποφασίσουν εκτός αν ένας από αυτούς έχει ψηφίσει no Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 83 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 84 14

15 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Αν ένας κόμβος δεν αποκρίνεται σε έναν κόμβο x κατά τη διάρκεια του πρωτοκόλλου επικύρωσης επειδή είτε ο κόμβος είτε η σύνδεση έχει αποτύχει: Αν ο κόμβος x είναι ο συντονιστής, πρέπει να απορρίψει την T. Αν ο κόμβος x είναι συμμετέχον, και δεν έχει ακόμα ψηφίσει yes, πρέπει να απορρίψει την T. Βελτιώσεις 1. Όταν ο συντονιστής aborts T, μπορεί να την απομακρύνει από τον πίνακα συναλλαγών 2. Όταν ένας συμμετέχον αποφασίσει abort, δε χρειάζεται να περιμένει ack Και μια σειρά αντίστοιχες βελτιστοποιήσεις Αν ο κόμβος x είναι συμμετέχον, και έχει ψηφίσει yes, πρέπει να περιμένει μέχρι να αποκριθεί ο συντονιστής Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 85 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 86 Περίληψη Τα κατανεμημένα Σ Β προσφέρουν αυτονομία σε κάθε κόμβο και κατανεμημένη διαχείριση. Χρειάζονται νέες τεχνικές αποθήκευσης, διαχείρισης του καταλόγου, επεξεργασίας ερωτήσεων ελέγχου συνδρομικότητας και ανάκαμψης. Παράλληλες Βάσεις εδομένων Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 87 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 88 Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων Σε τι χρειάζεται ο παραλληλισμός 1. Συγκεντρωτικά συστήματα Β 2. Συστήματα πελάτη - εξυπηρετητή (client-server) 3. Παράλληλα συστήματα Β 4. Κατανεμημένα συστήματα Β Με 10 MB/s 1.2 μέρες για scan 1 Terabyte Bandwidth 1,000 x parallel 1.5 λεπτά για scan. 1 Terabyte 10 MB/s παραλληλισμός: διάσπαση ενός μεγάλου προβλήματος σε μικρότερα τα οποία θα λυθούν παράλληλα Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 89 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 90 15

16 Παράλληλα Συστήματα Παράλληλα Συστήματα Τα παράλληλα συστήματα Β αποτελούνται από ένα σύνολο πολλών επεξεργαστών και πολλών δίσκων διασυνδεδεμένων σε ένα γρήγορο δίκτυο. Μία coarse-grain παράλληλη μηχανή αποτελείται από ένα μικρό αριθμό ισχυρών επεξεργαστών (χοντρόκοκκοι) Μία μαζικά παράλληλη (massively parallel) ή fine grain παράλληλη μηχανή χρησιμοποιεί χιλιάδες μικρότερους επεξεργαστές (λεπτόκοκκοι) Βελτίωση της απόδοσης μέσου της υλοποίησης παράλληλων λειτουργιών Κατανομή δεδομένων με στόχο τη βελτίωση της απόδοσης Σε κατανεμημένο σύστημα: Τα δεδομένα είναι σε φυσικό επίπεδο αποθηκευμένα σε διαφορετικούς κόμβους αυτονομία κόμβων Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 91 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 92 Παραδείγματα ικτύων ιασύνδεσης Αρχιτεκτονικές Παράλληλων ΣΒ ιαμοιρασμένη μνήμη (shared memory): οι επεξεργαστές μοιράζονται κοινή μνήμη ιαμοιρασμένο σύστημα δίσκων (shared disk): οι επεξεργαστές μοιράζονται κοινό σύστημα δίσκων «Τίποτα» διαμοιρασμένο (shared nothing): οι επεξεργαστές ΕΝ μοιράζονται ούτε κοινή μνήμη ούτε κοινό δίσκο Ιεραρχική : υβριδική αρχιτεκτονική συνδυασμός των ανωτέρω Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 93 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 94 Αρχιτεκτονικές Παράλληλων ΣΒ Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) ιαμοιρασμένη μνήμη (shared memory) Ιδιαίτερα αποδοτική επικοινωνία μεταξύ των επεξεργαστών. Όλοι προσπελαύνουν τα δεδομένα στην (κοινή) μνήμη χωρίς να χρειάζεται να τα μετακινήσουν από εκεί. Πρόβλημα: δεν κλιμακώνεται πέρα από 32 ή 64 επεξεργαστές καθώς προκαλείται κυκλοφοριακή συμφόρηση (bottleneck) στον δίαυλο μνήμης. Συνήθως χρησιμοποιείται για χαμηλό βαθμό παραλληλισμού (4-8). Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 95 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 96 16

17 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) ιαμοιρασμένο σύστημα δίσκων (shared disk) Ο δίαυλος μνήμης δεν είναι πια πρόβλημα αλλά τώρα η κυκλοφοριακή συμφόρηση συμβαίνει στη σύνδεση με το σύστημα δίσκων Ανοχή σφαλμάτων (fault-tolerance). Εάν αποτύχει ένας επεξεργαστής, οι υπόλοιποι αναλαμβάνουν τις εργασίες του αφού η Β είναι αποθηκευμένη σε δίσκους προσπελάσιμους από όλους Κλιμάκωση σε κάπως μεγαλύτερο αριθμό επεξεργαστών Τα πρώτα εμπορικά συστήματα: IBM Sysplex και DEC clusters (τώρα Compaq) που έτρεχαν Rdb (τώρα Oracle Rdb) Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 97 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) «Τίποτα» διαμοιρασμένο (shared nothing) Ένας «κόμβος» αποτελείται από έναν επεξεργαστή, μια μνήμη και ένα σύστημα δίσκων. Οι κόμβοι είναι συνδεδεμένοι μεταξύ τους. Κάθε κόμβος παίζει το ρόλο του εξυπηρετητή για τα δεδομένα που είναι αποθηκευμένα στο σύστημα δίσκων του. Η κλιμάκωση μπορεί να γίνει σε χιλιάδες επεξεργαστές Πρόβλημα: κόστος επικοινωνίας μεταξύ επεξεργαστών και η προσπέλαση δεδομένων σε μη τοπικούς δίσκους (απαιτείται λογισμικό αποστολής δεδομένων από το έναν κόμβο στον άλλο) Εμπορικά συστήματα: Teradata, Tandem, Oracle-n CUBE Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 98 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) Παραδείγματα Παράλληλων Συστημάτων (9/1995) Ιεραρχική αρχιτεκτονική Το ανώτερο επίπεδο μπορεί να ακολουθεί την αρχιτεκτονική «τίποτα» διαμοιρασμένου ενώ εσωτερικά κάθε κόμβος μπορεί να είναι διαμοιρασμένης μνήμης ή διαμοιρασμένου συστήματος δίσκων (σε πολλά επίπεδα) Shared Nothing Teradata: 400 nodes Tandem: 110 nodes IBM / SP2 / DB2: 128 nodes Informix/SP2 48 nodes ATT & Sybase? nodes Shared Disk Oracle 170 nodes DEC Rdb 24 nodes Shared Memory Informix 9 nodes RedBrick? nodes Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 99 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 100 Μέτρα Απόδοσης Μέτρα Απόδοσης ύο κύρια μέτρα απόδοσης: Ρυθμός εξόδου ή ολοκλήρωσης (throughput): ο αριθμός των εργασιών που μπορούν να ολοκληρωθούν σε συγκεκριμένο χρονικό διάστημα Χρόνος απόκρισης (response time) : ο χρόνος που απαιτείται για να ολοκληρωθεί μία εργασία από τη στιγμή που θα υποβληθεί Επιτάχυνση (Speed-Up) Περισσότεροι πόροι σημαίνει αναλογικά λιγότερος χρόνος για ένα δοσμένη ποσότητα δεδομένων Xact/sec. (throughput) Ιδανική degree of -ism Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 101 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά

18 Μέτρα Απόδοσης Μέτρα Απόδοσης Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός Xact/sec. (throughput) Ιδανική degree of -ism Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός sec./xact (response time) Ιδανική degree of -ism Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 103 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 104 Αρχιτεκτονικές Παράλληλων ΣΒ Αρχιτεκτονικές Παράλληλων ΣΒ ιαμοιραζόμενης Μνήμης Shared Memory (SMP) ιαμοιραζόμενου ίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) ιαμοιραζόμενης Μνήμης Shared Memory (SMP) ιαμοιραζόμενου ίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) CLIENTS CLIENTS CLIENTS CLIENTS CLIENTS CLIENTS Processors Memory Processors Memory Εύκολο στον προγραμματισμό Μια μέση επιβάρυνση 1% για κάθε επιπρόσθετη CPU Ακριβό στην κατασκευή σημαίνει ότι η μέγιστη επιτάχυνση είναι 37, ύσκολη κλιμάκωση πρόσθεση νέων CPU οδηγεί σε επιβράδυνση, 1000 Sequent, SGI, Sun CPU μόνο 4% πιο γρήγορες από ένα σύστημα με 1 CPU Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 105 Εύκολο στον προγραμματισμό ύσκολο στον προγραμματισμό Ακριβό στην κατασκευή Οικονομικό στην κατασκευή ύσκολη κλιμάκωση VMScluster, Sysplex Εύκολη κλιμάκωση Sequent, SGI, Sun Tandem, Teradata, SP2 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 106 Τύποι Παραλληλίας Σ Β : Η επιτυχία του παραλληλισμού Παραλληλισμός μέσω σωληνωτής εκτέλεσης (pipeline parallelism): πολλές μηχανές που η καθεμία εκτελεί ένα βήμα μιας διαδικασίας πολλών βημάτων (μπλοκάρει περιμένοντας τα αποτελέσματα της προηγούμενης) Παραλληλισμός με διάσπαση (partition parallelism) ή διαμοιραζόμεων δεδομένων: πολλές μηχανές που εκτελούν την ίδια λειτουργία σε διαφορετικά τμήματα των δεδομένων Και οι δύο τύποι παραλληλισμού είναι δυνατοί στα Σ Β Pipeline Any Sequential Program Any Sequential Program Σ Β επιτυχημένα μοντέλα παραλληλισμού: Teradata, Tandem vs. Thinking Machines, KSR. Κάθε σημαντικό εμπορικό Σ Β έχει κάποιο εξυπηρέτη Λόγοι της επιτυχίας: Μεγάλη ποσότητα δεδομένων - Bulk-processing (= παραλληλισμός διαμερισμού). Φυσική διασωλήνωση. Φτηνό υλικό (hardware) ιαφάνεια παραλληλισμού για το χρήστη/προγραμματιστή εφαρμογών Partition Sequential Any Sequential Program Any Sequential Program outputs split N ways, inputs merge M ways Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 107 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά

19 ιαμερισμός μιας σχέσης ιαμερισμός εδομένων ιαστήματα Τιμών Κατακερματισμός Round Robin ιαμερισμός εδομένων ιαστήματα Τιμών Kατακερματισμός Round Robin A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z Ταξινόμηση, επιλογή n περιοχών έτσι ώστε κάθε περιοχή να περιέχει περίπου τον ίδιο αριθμό πλειάδων, πλειάδες στο διάστημα i στον επεξεργαστή i Μια συνάρτηση κατακερματισμού εφαρμόζεται σε επιλεγμένα γνωρίσματα κάθε πλειάδας και μας δίνει τον αριθμό του επεξεργαστή Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 109 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 110 ιαμερισμός εδομένων ιαμερισμός εδομένων ιαστήματα Τιμών Kατακερματισμός Round Robin A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z H i-οστή πλειάδα πάει στον i mod n επεξεργαστή Round robin καλό για προσπέλαση όλης της σχέσης Αν μόνο ένα υποσύνολο της σχέσης, διαμερισμός διαστήματος τιμών και κατακερματισμού (αν ισότητα) καλύτερα αν βέβαια η επιλογή αφορά τα ίδια γνωρίσματα Επιλογή περιοχής, τότε διαμερισμός διαστήματος τιμών καλύτερη Το data skew ανομοιόμορφη κατανομή δεδομένων - πρόβλημα Μια δυνατή λύση είναι η δειγματοληψία Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 111 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 112 ιαμερισμός εδομένων Παραλληλισμός Σειριακού κώδικα ιαστήματα Τιμών Κατακερματισμός Round Robin ιάσπαση, split Συνένωση, merge δίκτυο ροής δεδομένων (data flow network) A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z A...E F...J K...N O...S T...Z Καλός για συνενώσεις ισότητας, Ερωτήσεις περιοχής Ομαδοποίηση Καλός για συνενώσεις ισότητας Καλός τρόπος για καταμερισμό φορτίου Αρχιτεκτονικές διαμοιραζόμενου δίσκου και μνήμης λιγότερο ευαίσθητες στο διαμερισμό Πιο σημαντικός για τις αρχιτεκτονικές «Τίποτα ιαμοιραζόμενο» Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 113 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά

20 ιαφορετικοί Τύποι Παραλληλισμού σε Σ Β Παράλληλη Σάρωση (Scan) Παράλληλη εκτέλεση μιας πράξης (Intra-operator parallelism) όλες οι μηχανές εργάζονται στην εκτέλεση μιας συγκεκριμένης πράξης (scan, sort, join) Παράλληλη εκτέλεση πολλών πράξεων (Inter-operator parallelism) κάθε πράξη μπορεί να εκτελείται ταυτόχρονα σε διαφορετικούς κόμβους (και χρήση σωληνωτής εκτέλεσης) Παράλληλη εκτέλεση ερωτήσεων (Inter-query parallelism) διαφορετικές ερωτήσεις εκτελούνται σε διαφορετικούς κόμβους Σάρωση παράλληλα, μετά συγχώνευση Μια επιλογή μπορεί να μην απαιτεί την προσπέλαση όλων των κόμβων στην περίπτωση του διαμερισμού διαστήματος ή κατακερματισμού. Μπορούμε να διατηρούμε ευρετήρια σε κάθε κόμβο (για κάθε τμήμα δεδομένων). Θα επικεντρωθούμε στο πως μπορούμε να εκτελέσουμε παράλληλα μια πράξη (intra-operator -ism) Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 115 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 116 Παράλληλη Ταξινόμηση Παράλληλες Συναθροιστικές Σημερινά απόδοση: 8.5 Gb/minute, shared-nothing; Datamation benchmark in 2.41 secs (UCB students! Ιδέα: ταξινόμηση τοπικά και μετά συγχώνευση Καλύτερη ιδέα Παράλληλη σάρωση και ταυτόχρονος διαμερισμός σε διαστήματα τιμών Ταξινόμηση των τιμών τοπικά (σε κάθε κόμβο) Ως αποτέλεσμα τα δεδομένα είναι ταξινομημένα και διαμοιρασμένα σε διαστήματα τιμών Πρόβλημα: skew! (ανομοιόμορφη κατανομή) Λύση: δειγματοληψία των δεδομένων στην αρχή ώστε να καθοριστούν τα σημεία διάσπασης (splitting vector διάνυσμα διαχωρισμού) Για κάθε συναθροιστική συνάρτηση χρειάζεται μια διάσπαση (decomposition): count(s) = S count(s(i)), το ίδιο για το sum() avg(s) = (S sum(s(i))) / S count(s(i)) κοκ... Count Count Count Count Count A Table Count A...E F...J K...N O...S T...Z Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 117 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 118 Jim Gray & Gordon Bell: VLDB 95 Parallel Database Systems Survey Παράλληλες Συνενώσεις Παράλληλη συνένωση με κατακερματισμό Εμφωλευμένος Βρόγχος (Nested loop): Κάθε εξωτερική πλειάδα πρέπει να συγκριθεί με κάθε εσωτερική πλειάδα με την οποία ίσως συνενώνεται Εύκολο όταν έχουμε διαμοιρασμό διαστημάτων τιμών στο γνώρισμα που θα γίνει η συνένωση, δύσκολο αλλιώς Συνένωση αφού γίνει ταξινόμηση Sort-Merge: Η ταξινόμηση δίνει διαχωρισμό διαστημάτων. Πρόβλημα αντιμετώπισης δύο μη ομοιόμορφων κατανομών Phase 1 Original Relations (R then S)... Disk OUTPUT 1 INPUT 2 hash function h B-1 B main memory buffers Partitions 1 2 Disk Στην πρώτη φάση, τα τμήματα κατανέμονται σε διαφορετικούς κόμβους: Μια καλή συνάρτηση κατακερματισμού ώστε ομοιόμορφη κατανομή της δουλειάς Συνένωση σε κάθε κόμβο B-1 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 119 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά

21 ίκτυο Ροής για Συνένωση Παραλληλισμός Πλάνου Εκτέλεσης Ερώτησης Σύνθετες ερωτήσεις: Inter-Operator παραλληλισμός Σωλήνωση μεταξύ τελεστών: η ταξινόμηση και η πρώτη φάση της συνένωσης με κατακερματισμό μπλοκάρουν τη σωλήνωση Bushy (θαμνώδη δέντρα) Sites 1-8 Sites 1-4 Sites 5-8 A B R S Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 121 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 122 Παρατήρηση Παράλληλη βελτιστοποίηση ερωτήσεων Η βελτιστοποίηση παράλληλων πλάνων εκτέλεσης είναι δύσκολη Κοινή Προσέγγιση: 2 φάσεις Επιλογή του καλύτερου σειριακού πλάνου Επέλεξε το βαθμό παραλληλισμού. Ανάθεσε τελεστές (πράξεις) σε υπολογιστές ηλαδή, πρόσθεσε στο δέντρο εκτέλεσης πληροφορία για το που θα εκτελεστεί μια ερώτηση Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 123 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά

Κατανεμημένες Βάσεις Δεδομένων

Κατανεμημένες Βάσεις Δεδομένων Κατανεμημένες Βάσεις Δεδομένων Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Βάσεις Δεδομένων ΙΙ Α. Κομνηνός Παρουσίαση Βασισμένη σε διαφάνειες της Ε. Πιτουρά και Μ. Φραγκουδάκη Κατανεμημένα Συστήματα

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΙΙ. Διάλεξη 4 η Aρχιτεκτονικές ΣΒΔ. Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων

Βάσεις Δεδομένων ΙΙ. Διάλεξη 4 η Aρχιτεκτονικές ΣΒΔ. Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων Βάσεις Δεδομένων ΙΙ Διάλεξη 4 η Aρχιτεκτονικές ΣΒΔ Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων 1. Συγκεντρωτικά συστήματα

Διαβάστε περισσότερα

Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων

Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων 1. Συγκεντρωτικά συστήµατα Β 2. Συστήµατα πελάτη - εξυπηρετητή (client-server) 3. Παράλληλα συστήµατα Β 4. Κατανεµηµένα

Διαβάστε περισσότερα

Σχεδίαση Βάσεων Δεδομένων. Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης

Σχεδίαση Βάσεων Δεδομένων. Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης Σχεδίαση Βάσεων Δεδομένων Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης Εισαγωγή Τα δεδομένα είναι αποθηκευμένα σε διαφορετικούς κόμβους και κάθε κόμβο τον διαχειρίζεται ένα ΣΔΒΔ που τρέχει

Διαβάστε περισσότερα

Εαρινό Εξάμηνο

Εαρινό Εξάμηνο ΙΙ Παράλληλες ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents ΙΙ 1 Παράλληλες Table of contents ΙΙ Παράλληλες 1 2 Table of contents

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β

Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Αρχιτεκτονικές Σ Β Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Κατανεµηµένηαποθήκευσηδεδοµένων Κατανεµηµένη επεξεργασία ερωτηµάτων Κατανεµηµένες δοσοληψίες

Διαβάστε περισσότερα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο

Διαβάστε περισσότερα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Κατανεμημένες Βάσεις Δεδομένων (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

Διαβάστε περισσότερα

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

Εισαγωγικά στοιχεία για παραλληλισμό και ΒΔ Μοντέλα και αρχιτεκτονικές παραλληλισμού Διαμερισμός δεδομένων Παράλληλη επεξεργασία ερωτημάτων

Εισαγωγικά στοιχεία για παραλληλισμό και ΒΔ Μοντέλα και αρχιτεκτονικές παραλληλισμού Διαμερισμός δεδομένων Παράλληλη επεξεργασία ερωτημάτων Παράλληλες λ Βάσεις Δδ Δεδομένων Εισαγωγικά στοιχεία για παραλληλισμό και ΒΔ Μοντέλα και αρχιτεκτονικές παραλληλισμού Διαμερισμός δεδομένων Παράλληλη επεξεργασία ερωτημάτων Πρόβλημα - κίνητρο Οι ΒΔ γίνονται

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράμματα γιατηδιαχείρισητηςβδ Αρχεία ευρετηρίου Αρχεία δεδομένων Κατάλογος συστήματος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσεων Δεδομένων (ΣΒΔ) 2 :

Διαβάστε περισσότερα

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

Διαβάστε περισσότερα

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1 Οι πράξεις της συνένωσης Μ.Χατζόπουλος 1 ΠΡΟΜΗΘΕΥΤΗΣ (ΠΡΜ) Κ_Προμ Π_Ονομα Είδος Πόλη 22 Ανδρέου 7 Αθήνα 31 Πέτρου 8 Πάτρα 28 Δέδες 12 Λάρισα 58 Παππάς 7 Αθήνα ΠΡΟΙΟΝ (ΠΡ) Κ_Πρ Πρ_Ονομα Χρώμα Βάρος Π35

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

Διαβάστε περισσότερα

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Ενότητα 9 Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Πληροφοριακά Συστήματα Διοίκησης ΙI Ι Διδάσκων: Νίκος Καρακαπιλίδης 9-1 Στόχοι & αντικείμενο ενότητας Σχεδιασμός επεξεργασίας Επεξεργασία κατά δεσμίδες

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

Διαβάστε περισσότερα

Επικοινωνία Client/Server

Επικοινωνία Client/Server Επικοινωνία Client/Server Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία - Client/Server 1 Μοντέλο Πελάτη-Εξυπηρετητή Βασική ιδέα: να δομηθεί το λειτουργικό σύστημα ως συνεργαζόμενες

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

Διαβάστε περισσότερα

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1 Κεφάλαιο 20 Φυσικός Σχεδιασμός Βάσεων Δεδομένων και Ρύθμιση Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική

Διαβάστε περισσότερα

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων 2014-2015 Ευαγγελία Πιτουρά 1

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων 2014-2015 Ευαγγελία Πιτουρά 1 Εισαγωγή στα Συστήματα Βάσεων Δεδομένων Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα I. Σύντομη εισαγωγή στις ΒΔ II. Περιγραφή σκοπού και περιεχομένου μαθήματος III. Ιστορία των ΣΔΒΔ IV. Διαδικαστικά θέματα

Διαβάστε περισσότερα

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 1 Περιγραφή των Δεδομένων: Τα μοντέλα ενός ΣΔΒΔ Ένα μοντέλο δεδομένων είναι μια συλλογή από έννοιες που χρησιμοποιούνται για την περιγραφή δεδομένων

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Επεξεργαστής Ερωτήσεων (Query Processor) Ερώτηση του χρήστη σε κάποια γλώσσα υψηλού επιπέδου (π.χ., QL) Χαµηλού επιπέδου εντολές επεξεργασίας δεδοµένων (π.χ., υλοποιήσεις πράξεων της σχεσιακής άλγεβρας)

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών (συνέχεια)

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1 ΓΕΝΙΚΑ Μια κατανεµηµένη βάση δεδοµένων (distributed database) µπορεί να οριστεί σαν µια οµάδα από λογικά συνδεόµενες βάσεις δεδοµένων που είναι διεσπαρµένες σε ένα δίκτυο

Διαβάστε περισσότερα

Κατανεµηµένες Βάσεις εδοµένων

Κατανεµηµένες Βάσεις εδοµένων Αποθήκευση εδοµένων Κατανεµηµένες Βάσεις εδοµένων Αντίγραφα -- Οµοιοτυπία (Replication) ιαθεσιµότητα Γρηγορότερος υπολογισµός ερωτήσεων. Σύγχρονο και Ασύγχρονος υπολογισµός ενηµέρωση αντιγράφων. R1 R3

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Τ. Σελλής ΦΘΙΝΟΠΩΡΟ 2008 Λύση ΑΣΚΗΣΗΣ

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

Διαβάστε περισσότερα

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Κατανεµηµένασυστήµατα αρχείων

Κατανεµηµένασυστήµατα αρχείων Κατανεµηµένασυστήµατα αρχείων Θέµατα σχεδίασης ιεπαφή υπηρεσίας αρχείων και ευρετηρίων Ονόµατα και αναγνωριστικά Οργάνωση εξυπηρετητών Σηµασιολογία (κατα)µερισµού αρχείων Ενταµίευση αρχείων Συνέπεια συστήµατος

Διαβάστε περισσότερα

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα Αποθήκευση εδομένων Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ Β : Εισαγωγή Το «εσωτερικό» ενός Σ Β ομή ενός Σ Β Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα Τυπικά, κάθε σχέση σε ένα

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction) Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις

Διαβάστε περισσότερα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Εισαγωγή 1 Ζήτω οι Βάσεις εδοµένων!! Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις

Διαβάστε περισσότερα

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Βασικές Έννοιες Τι είναι µια βάση δεδοµένων; Βάση Δεδοµένων: συλλογή από σχετιζόµενα δεδοµένα Ειδικού σκοπού λογισµικό

Διαβάστε περισσότερα

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

Διαβάστε περισσότερα

Εισαγωγή στα Συστήματα Βάσεων εδομένων

Εισαγωγή στα Συστήματα Βάσεων εδομένων Εισαγωγή στα Συστήματα Βάσεων εδομένων Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα: ΕΙΣΑΓΩΓΗ Βασικές έννοιες Λίγα ιστορικά στοιχεία Μια σύνοψη του περιεχομένου του μαθήματος Εισαγωγή

Διαβάστε περισσότερα

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2006 Λύση ΑΣΚΗΣΗΣ #2 Τ. Σελλής

Διαβάστε περισσότερα

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

Διαβάστε περισσότερα

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης 2 η Σειρά Ασκήσεων Ηµεροµηνία Παράδοσης: 14/11/2016 Άσκηση 1 (10 µονάδες) Εξωτερική Ταξινόµηση Θεωρείστε

Διαβάστε περισσότερα

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Βασικές Έννοιες Τι είναι µια βάση δεδοµένων; Βάση Δεδοµένων: συλλογή από σχετιζόµενα δεδοµένα Ειδικού σκοπού λογισµικό

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή

Διαβάστε περισσότερα

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Πληροφορική 2. Βάσεις Δεδομένων (Databases) Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

Κατανεμημένες δοσοληψίες

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Εισαγωγή στις Βάσεις Δεδομένων Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan) Εισαγωγή Γιατί

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

Διαβάστε περισσότερα

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Μαζικός Παραλληλισμός λ με Map - Reduce Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Ευχαριστίες Οι διαφάνειες στηρίζονται σε μεγάλο βαθμό στο υλικό που είναι διαθέσιμο από το εργαστήριο

Διαβάστε περισσότερα

Εισαγωγή. Βάσεις Δεδομένων : Εισαγωγή 1

Εισαγωγή. Βάσεις Δεδομένων : Εισαγωγή 1 Βασικές Έννοιες Εισαγωγή Τι είναι μια βάση δεδομένων; Βάση εδομένων: συλλογή από σχετιζόμενα δεδομένα Σύστημα ιαχείρισης Βάσεων εδομένων (): λογισμικό (σύνολο από προγράμματα) για δημιουργία και χρήση

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα

Διαβάστε περισσότερα

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1 Εισαγωγή Middleware Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Εισαγωγή: Θέματα S/W 1 ΚΛΣ - ΛΣΔ Στην πράξη επιτυχία γνώρισαν τα ΛΣ που ουσιαστικά αντικατέστησαν πλήρως τα απλά συστήματα

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος ΣΚΟΠΟΣ ΕΡΓΑΣΙΑΣ Σκοπός της εργασίας αυτής είναι η εισαγωγή στις Βάσεων εδομένων. Θα παρουσιαστούν οι βασικές έννοιες, οι συνιστώσες και οι λειτουργίες

Διαβάστε περισσότερα

Διαχείριση Δεδομένων

Διαχείριση Δεδομένων Διαχείριση Δεδομένων Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου 1 Εαρινό Εξάμηνο 2012-13 Περιεχόμενο σημερινής διάλεξης Βάσεις Δεδομένων Ορισμοί Παραδείγματα

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα