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

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

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

Transcript

1 Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων 1. Συγκεντρωτικά συστήµατα Β 2. Συστήµατα πελάτη - εξυπηρετητή (client-server) 3. Παράλληλα συστήµατα Β 4. Κατανεµηµένα συστήµατα Β { 1. Συστήµατα Οµοτίµων 2. Αποθήκες εδοµένων } Βάσεις εδοµένων 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

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. Οι πελάτες στέλνουν αιτήµατα στον εξυπηρετητή, όπου εκτελούνται οι δοσοληψίες, και τα αποτελέσµατα επιστρέφονται στον πελάτη. Τα αιτήµατα εκφράζονται σε 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

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

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

5 Κατανεµηµένα Συστήµατα Γενικές Ιδιότητες Κατανεµηµένες Βάσεις εδοµένων Ανεξαρτησία των Κατανεµηµένων εδοµένων: Οι χρήστες δεν πρέπει να γνωρίζουν που βρίσκονται τα δεδοµένα (επέκταση της Φυσικής και Λογικής Ανεξαρτησίας) Ατοµικότητα των Κατανεµηµένων Συναλλαγών Βάσεις εδοµένων II Ευαγγελία Πιτουρά 25 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 26 Κατανεµηµένες Β Οµογενείς Κατανεµηµένες Β Το ίδιο λογισµικό και σχήµα Β σε όλους τους κόµβους, τα δεδοµένα είναι µοιρασµένα µεταξύ των κόµβων. Στόχος: να φαίνεται σαν µια ενιαία Β, κρύβοντας την κατανοµή της σε κόµβους Ετερογενείς Κατανεµηµένες Β ή Σύστηµα Πολλαπλών Β (multidatabases) ιαφορετικό λογισµικό και σχήµα Β από κόµβο σε κόµβο Στόχος: η ολοκλήρωση διαφορετικών Β που ήδη υπάρχουν ιάκριση µεταξύ τοπικών (local) και γενικών (global) δοσοληψιών Μια τοπική δοσοληψία προσπελαύνει δεδοµένα στον κόµβο από τον οποίο προήλθε. Μια γενική δοσοληψία είτε προσπελαύνει δεδοµένα σε κόµβο διαφορετικό από αυτόν από τον οποίο προήλθε είτε προσπελαύνει δεδοµένα σε πολλούς κόµβους. Χαρακτηριστικά Κατανεµηµένων Β Κατανεµηµένες Β (συν.) ιαµοίραση δεδοµένων: οι χρήστες ενός τόπου µπορούν να προσπελάσουν δεδοµένα που βρίσκονται σε άλλο κόµβο Αυτονοµία: κάθε κόµβος µπορεί να έχει έλεγχο στα «δικά του» δεδοµένα. Πλεονασµός (redundancy): τα ίδια δεδοµένα µπορούν να επαναληφθούν σε διαφορετικούς κόµβους (διπλο-αποθήκευση) ώστε το σύστηµα να λειτουργήσει ακόµη και αν κάποιος τόπος «πέσει» Μειονέκτηµα: η πρόσθετη πολυπλοκότητα που απαιτείται για τον συντονισµό των κόµβων (κόστος ανάπτυξης λογισµικού, αυξηµένη πιθανότητα bugs, επιπλέον επεξεργασία/συντήρηση κλπ.) Βάσεις εδοµένων II Ευαγγελία Πιτουρά 27 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 28 Θέµατα Αποθήκευση 1. Αποθήκευση εδοµένων (κατατεµαχισµός, αντίγραφα (οµοιότυπα) 2. Επεξεργασία Ερωτήσεων 3. Επεξεργασία οσοληψιών Σε ένα κατανεµηµένο Σ Β πολλοί κόµβοι πως µοιράζουµε τα δεδοµένα στους κόµβους Έστω µια σχέση r. Πως θα µπορούσε να αποθηκευτεί σε µια κατανεµηµένη βάση δεδοµένων; Τεµαχισµός (τµηµατοποίηση) (fragmentation): «κόβουµε» τη σχέση σε τµήµατα και τα τοποθετούµε σε διαφορετικούς κόµβους Αντίγραφα (οµοιότυπα) Τεµαχισµός και αντίγραφα Τοποθέτηση (allocation) Βάσεις εδοµένων II Ευαγγελία Πιτουρά 29 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 30

6 Αποθήκευση εδοµένων Οριζόντιος Τεµαχισµός (fragmentation) Οριζόντιος (horizontal) Κάθετος(vertical) Υβριδικός TID Οριζόντιος Τεµαχισµός (horizontal fragmentation) Με βάση κάποια συνθήκη -- πράξη (σ) Συνήθως ξένα Πως παίρνουµε πάλι την αρχική σχέση; t1 t2 t3 t4 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 31 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 32 Κάθετος Αποθήκευση εδοµένων Κάθετος Τεµαχισµός (vertical fragmentation) µε βάση ποια πράξη (προβολή π) πως παίρνουµε την αρχική σχέση χωρίς απώλειες στη συνένωση; tids. TID t1 t2 t3 t4 Αντίγραφα -- Οµοιοτυπία (Replication) ιαθεσιµότητα Γρηγορότερος υπολογισµός ερωτήσεων. Σύγχρονος και Ασύγχρονος υπολογισµός ενηµέρωση αντιγράφων. R1 R2 R1 R3 Κόµβος A Κόµβος Β Βάσεις εδοµένων II Ευαγγελία Πιτουρά 33 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 34 Κατάλογος Συστήµατος Κατάλογος Συστήµατος ιατήρηση πληροφορίας για την κατανοµή των δεδοµένων στους κόµβους Θέµατα Μοναδικά ονόµατα Αρχιτεκτονικές/ οµή Καταλόγου Όνοµα για κάθε αντίγραφο σε κάθε κόµβο. ιατήρηση τοπικής αυτονοµίας <local-name, birth-site> Συγκεντρωτικές κατάλογος (και αντίγραφά του) Κατάλογος σε κάθε κόµβο: (τοπικός κατάλογος) Περιγράφει κάθε αντικείµενο (τεµάχιο, αντίγραφο) που είναι αποθηκευµένα στον κόµβο + (κατάλογος καταγωγής) Κρατά πληροφορία για τα αντίγραφα των σχέσεων που δηµιουργήθηκαν στον κόµβο. Εύρεση σχέσης, αναζήτηση στον κατάλογο στον κόµβο που δηµιουργήθηκε. Ο κόµβος που δηµιουργήθηκε η σχέση δεν αλλάζει ακόµα και αν η σχέση µετακινηθεί. Βάσεις εδοµένων II Ευαγγελία Πιτουρά 35 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 36

7 1. Αποθήκευση εδοµένων (τεµαχισµός, αντίγραφα -οµοιότυπα) 2. Επεξεργασία Ερωτήσεων 3. Επεξεργασία οσοληψιών Θέµατα Επεξεργασία Ερωτήσεων Εκτός του Ι/Ο κόστους (D), το κόστος µετάδοσης δεδοµένων (T) στο δίκτυο Πιθανό κέρδος από το ό,τι διάφοροι κόµβοι µπορεί να επεξεργάζονται µια ερώτηση παράλληλα (ταυτόχρονα) : διαφορά συνολικού χρόνου υπολογισµού και χρόνου απόκρισης Παράδειγµα Sailors(sid, sname, rating, age) Reserves(sid, bid, day, rname) Reserves: 40 bytes ανά πλειάδα -µία σελίδα 100 πλειάδες σελίδες πλειάδες Sailors: 50 bytes ανά πλειάδα - µία σελίδα 80 πλειάδες 500 σελίδες πλειάδες Βάσεις εδοµένων II Ευαγγελία Πιτουρά 37 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 38 Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων 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, θα αρκούσε ο υπολογισµός σε έναν µόνο κόµβο. 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 Εκτέλεση στο Tokyo (S1) Εκτέλεση στη Shanghai (S2) (σ S.rating < 5 (S)) (σ S.rating >= 5 (S)) υνατές απλοποιήσεις; Βάσεις εδοµένων II Ευαγγελία Πιτουρά 39 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 40 Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7 Κάθετος τεµαχισµός : sid και rating στη Shanghai, sname and age στοtokyo, tid και στους δύο κόµβους. Πρέπει πρώτα να ξανά-σχηµατιστεί η σχέση µε συνένωση στο tid, και µετά να υπολογιστεί η ερώτηση 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) = Κάθετος κατατεµαχισµός Βάσεις εδοµένων II Ευαγγελία Πιτουρά 41 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 42

8 Επεξεργασία Ερωτήσεων Επεξεργασία Ερωτήσεων: Κατανεµηµένη Συνένωση SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7 Αντίγραφα: αντίγραφα της σχέσης Sailors και στους δύο κόµβους. Επιλογή του κόµβου µε βάση το τοπικό κόστος και το κόστος για την µεταφορά του αποτελέσµατος Γενική παρατήρηση: Συνυπολογισµός τους κόστους για τη µεταφορά του αποτελέσµατος στον κόµβο στον οποίον υποβλήθηκε η ερώτηση Βάσεις εδοµένων II Ευαγγελία Πιτουρά 43 LONDON S D κόστος εγγραφής/ανάγνωσης σελίδας Τ κόστος µεταφοράς σελίδας PARIS 500 pages 1000 pages Μεταφορά όταν χρειάζεται, Εµφωλευµένος βρόγχος µε τη σχέση S στον εξωτερικό βρόγχο : Κόστος: 500 D * 1000 (D+Τ) Αν χρειάζεται µεταφορά αποτελέσµατος: Κόστος Μεταφοράς Μέγεθος αποτελέσµατος πλειάδες µεγέθους = 90 bytes σελίδες Βάσεις εδοµένων II Ευαγγελία Πιτουρά 44 R Επεξεργασία Ερωτήσεων: Κατανεµηµένη Συνένωση Επεξεργασία Ερωτήσεων: Κατανεµηµένη Συνένωση LONDON S PARIS R LONDON S PARIS R 500 pages 1000 pages Μεταφορά όταν χρειάζεται, Εµφωλευµένος βρόγχος µε τη σχέση S στον εξωτερικό βρόγχο : Αν η ερώτηση δεν είχε υποβληθεί στο Λονδίνο πρέπει να προσθέσουµε και το κόστος µεταφοράς του αποτελέσµατος στον κόµβο που αρχικά υποβλήθηκε η ερώτηση Ο υπολογισµός µπορεί επίσης να γίνει στο Παρίσι 500 pages 1000 pages Μεταφορά όλης της σχέσης σε έναν κόµβο: µεταφορά της R στο Λονδίνο Κόστος: 1000 Τ D (µε ταξινόµηση/συγχώνευση: κόστος = 3*( )D) Αν το µέγεθος του αποτελέσµατος είναι πολύ µεγάλο, µπορεί να συµφέρει να µεταφέρουµε και τις δύο σχέσεις στον κόµβο υποβολής της ερώτησης και να υπολογίσουµε τη συνένωση εκεί Βάσεις εδοµένων II Ευαγγελία Πιτουρά 45 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 46 Ηµι-συνένωση Επεξεργασία Ερωτήσεων: Ηµι-Συνένωση Ηµι-συνένωση Επεξεργασία Ερωτήσεων: Ηµι-Συνένωση LONDON S 500 pages PARIS R 1000 pages LONDON S 500 pages PARIS R 1000 pages Ιδέα: Αποφυγή µεταφοράς όλης της σχέσης R στο Λονδίνο αλλά µεταφορά µόνο των πλειάδων που συνενώνονται µε πλειάδες της S Πως; Πρέπει να καθορίσουµε ποιες είναι αυτές οι πλειάδες Βήµα 1: Στο Λονδίνο, προβολή (project) S στις στήλες του join Μεταφορά του αποτελέσµατος στο Παρίσι Βήµα 2: Στο Παρίσι, συνένωση της προβολής S µε τη R. Το αποτέλεσµα ονοµάζεται Ελάττωση (reduction) της R σε σχέση µε τη S. Μεταφορά της ελάττωσης της σχέσης R στο Λονδίνο Βήµα 3: Στο Λονδίνο, συνένωση S µε την ελάττωση της R. Βάσεις εδοµένων II Ευαγγελία Πιτουρά 47 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 48

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

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

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

12 Κατανεµηµένη Ανίχνευση Αδιεξόδων Κάθε κόµβος διατηρεί έναν τοπικό γράφο αναµονής (waits-for graph) Ένα ολικό αδιέξοδο µπορεί να δηµιουργηθεί ακόµα και αν οι τοπικοί κόµβοι δεν περιέχουν κύκλους: T1 T2 T1 T2 T1 T2 Κόµβος A Κόµβος B Ολικός Γράφος Τρεις λύσεις: Κατανεµηµένη Ανίχνευση Αδιεξόδων Κεντρικοποιηµένη (- περιοδική - αποστολή όλων των τοπικών γράφων σε έναν κόµβο) Ιεραρχική (οργάνωση κόµβων σε µια ιεραρχία και αποστολή γράφων στον γονέα στην ιεραρχία) Υπόθεση ότι συχνά αδιέξοδα ανάµεσα σε συσχετιζόµενους κόµβους T1 T2 Περιοδική αποστολή Timeout (απόρριψη µιας δοσοληψίας αν περιµένει για πάρα πολύ). Αυτονοµία Αδιέξοδα φαντάσµατα (λόγω της καθυστέρησης κατασκευής του γράφου) Βάσεις εδοµένων II Ευαγγελία Πιτουρά 67 Αντίστοιχοι deadlock prevention Βάσεις εδοµένων II Ευαγγελία Πιτουρά 68 Κατανεµηµένη Ανάκαµψη Πρωτόκολλο Επικύρωσης ύο Φάσεων υο νέα θέµατα: υο νέα ειδών αποτυχιών, π.χ., συνδέσεις και αποµακρυσµένοι κόµβοι. Αν τµήµατα µιας δοσοληψίας εκτελούνται σε διαφορετικούς κόµβους όλες ή καµία πρέπει να επικυρωθούν πρωτόκολλο επικύρωσης. ιατηρείται ένα log σε κάθε κόµβο, όπως και στα κεντρικά Σ Β στο οποίο καταγράφονται και οι πράξεις του πρωτοκόλλου Πρωτόκολλο Επικύρωσης ύο Φάσεων (Two Phase Commit Protocol 2PC) Οκόµβος από τον οποίο ξεκίνησε µια δοσοληψία είναι ο συντονιστής (coordinate) -- οι υπόλοιποι κόµβοι που συµµετέχουν στην εκτέλεση της δοσοληψίας ορίζονται ως συµµετέχοντες ή εξαρτηµένοι (subordinates). Βάσεις εδοµένων II Ευαγγελία Πιτουρά 69 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 70 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Όταν µια δοσοληψία πρέπει να επικυρωθεί: Φάση 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 Ευαγγελία Πιτουρά 71 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 72

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

14 Πρωτόκολλο Επικύρωσης ύο Φάσεων Πρωτόκολλο Επικύρωσης ύο Φάσεων Αν ένας κόµβος δεν αποκρίνεται σε έναν κόµβο x κατά τη διάρκεια του πρωτοκόλλου επικύρωσης επειδή είτε ο κόµβος είτε η σύνδεση έχει αποτύχει: Αν ο κόµβος x είναι ο συντονιστής, πρέπει να απορρίψει την T. Αν ο κόµβος x είναι συµµετέχον, και δεν έχει ακόµα ψηφίσει yes, πρέπει να απορρίψει την T. Αν ο κόµβος x είναι συµµετέχον, και έχει ψηφίσει yes, πρέπει να περιµένει µέχρι να αποκριθεί ο συντονιστής Βελτιώσεις 1. Όταν ο συντονιστής aborts T, µπορεί να την αποµακρύνει από τον πίνακα συναλλαγών 2. Όταν ένας συµµετέχον αποφασίσει abort, δε χρειάζεται να περιµένει ack Και µια σειρά αντίστοιχες βελτιστοποιήσεις Βάσεις εδοµένων II Ευαγγελία Πιτουρά 79 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 80 Περίληψη Τα κατανεµηµένα Σ Β προσφέρουν αυτονοµία σε κάθε κόµβο και κατανεµηµένη διαχείριση. Χρειάζονται νέες τεχνικές αποθήκευσης, διαχείρισης του καταλόγου, ελέγχου συνδροµικότητας και ανάκαµψης. Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων II Ευαγγελία Πιτουρά 81 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 82 Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων Σε τι χρειάζεται ο παραλληλισµός 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 Ευαγγελία Πιτουρά 83 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 84

15 Παράλληλα Συστήµατα Παράλληλα Συστήµατα Τα παράλληλα συστήµατα Β αποτελούνται από ένα σύνολο πολλών επεξεργαστών και πολλών δίσκων διασυνδεδεµένων σε ένα γρήγορο δίκτυο. Μία coarse-grain παράλληλη µηχανή αποτελείται από ένα µικρό αριθµό ισχυρών επεξεργαστών (χοντρόκοκκοι) Μία µαζικά παράλληλη (massively parallel) ή fine grain παράλληλη µηχανή χρησιµοποιεί χιλιάδες µικρότερους επεξεργαστές (λεπτόκοκκοι) Βελτίωση της απόδοσης µέσου της υλοποίησης παράλληλων λειτουργιών Κατανοµή δεδοµένων µε στόχο τη βελτίωση της απόδοσης Σε κατανεµηµένο σύστηµα: Τα δεδοµένα είναι σε φυσικό επίπεδο αποθηκευµένα σε διαφορετικούς κόµβους αυτονοµία κόµβων Βάσεις εδοµένων II Ευαγγελία Πιτουρά 85 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 86 Παραδείγµατα ικτύων ιασύνδεσης Αρχιτεκτονικές Παράλληλων ΣΒ ιαµοιρασµένη µνήµη (shared memory): οι επεξεργαστές µοιράζονται κοινή µνήµη ιαµοιρασµένο σύστηµα δίσκων (shared disk): οι επεξεργαστές µοιράζονται κοινό σύστηµα δίσκων «Τίποτα» διαµοιρασµένο (shared nothing): οι επεξεργαστές ΕΝ µοιράζονται ούτε κοινή µνήµη ούτε κοινό δίσκο Ιεραρχική : υβριδική αρχιτεκτονική συνδυασµός των ανωτέρω Βάσεις εδοµένων II Ευαγγελία Πιτουρά 87 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 88 Αρχιτεκτονικές Παράλληλων ΣΒ Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) ιαµοιρασµένη µνήµη (shared memory) Ιδιαίτερα αποδοτική επικοινωνία µεταξύ των επεξεργαστών. Όλοι προσπελαύνουν τα δεδοµένα στην (κοινή) µνήµη χωρίς να χρειάζεται να τα µετακινήσουν από εκεί. Πρόβληµα: δεν κλιµακώνεται πέρα από 32 ή 64 επεξεργαστές καθώς προκαλείται κυκλοφοριακή συµφόρηση (bottleneck) στον δίαυλο µνήµης. Συνήθως χρησιµοποιείται για χαµηλό βαθµό παραλληλισµού (4-8). Βάσεις εδοµένων II Ευαγγελία Πιτουρά 89 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 90

16 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) ιαµοιρασµένο σύστηµα δίσκων (shared disk) Ο δίαυλος µνήµης δεν είναι πια πρόβληµα αλλά τώρα η κυκλοφοριακή συµφόρηση συµβαίνει στη σύνδεση µε το σύστηµα δίσκων Ανοχή σφαλµάτων (fault-tolerance). Εάν αποτύχει ένας επεξεργαστής, οι υπόλοιποι αναλαµβάνουν τις εργασίες του αφού η Β είναι αποθηκευµένη σε δίσκους προσπελάσιµους από όλους Κλιµάκωση σε κάπως µεγαλύτερο αριθµό επεξεργαστών Τα πρώτα εµπορικά συστήµατα: IBM Sysplex και DEC clusters (τώρα Compaq) που έτρεχαν Rdb (τώρα Oracle Rdb) Βάσεις εδοµένων II Ευαγγελία Πιτουρά 91 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) «Τίποτα» διαµοιρασµένο (shared nothing) Ένας «κόµβος» αποτελείται από έναν επεξεργαστή, µια µνήµη και ένα σύστηµα δίσκων. Οι κόµβοι είναι συνδεδεµένοι µεταξύ τους. Κάθε κόµβος παίζει το ρόλο του εξυπηρετητή για τα δεδοµένα που είναι αποθηκευµένα στο σύστηµα δίσκων του. Η κλιµάκωση µπορεί να γίνει σε χιλιάδες επεξεργαστές Πρόβληµα: κόστος επικοινωνίας µεταξύ επεξεργαστών και η προσπέλαση δεδοµένων σε µη τοπικούς δίσκους (απαιτείται λογισµικό αποστολής δεδοµένων από το έναν κόµβο στον άλλο) Εµπορικά συστήµατα: Teradata, Tandem, Oracle-n CUBE Βάσεις εδοµένων II Ευαγγελία Πιτουρά 92 Αρχιτεκτονικές Παράλληλων ΣΒ (συν.) Παραδείγµατα Παράλληλων Συστηµάτων (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 Ευαγγελία Πιτουρά 93 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 94 Μέτρα Απόδοσης Μέτρα Απόδοσης ύο κύρια µέτρα απόδοσης: Ρυθµός εξόδου ή ολοκλήρωσης (throughput): ο αριθµός των εργασιών που µπορούν να ολοκληρωθούν σε συγκεκριµένο χρονικό διάστηµα Χρόνος απόκρισης (response time) : ο χρόνος που απαιτείται για να ολοκληρωθεί µία εργασία από τη στιγµή που θα υποβληθεί Επιτάχυνση (Speed-Up) Περισσότεροι πόροι σηµαίνει αναλογικά λιγότερος χρόνος για ένα δοσµένη ποσότητα δεδοµένων Xact/sec. (throughput) Ιδανική degree of -ism Βάσεις εδοµένων II Ευαγγελία Πιτουρά 95 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 96

17 Μέτρα Απόδοσης Μέτρα Απόδοσης Κλιµάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία µε το µέγεθος δεδοµένων, ο χρόνος είναι σταθερός Xact/sec. (throughput) Ιδανική degree of -ism Κλιµάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία µε το µέγεθος δεδοµένων, ο χρόνος είναι σταθερός sec./xact (response time) Ιδανική degree of -ism Βάσεις εδοµένων II Ευαγγελία Πιτουρά 97 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 98 Αρχιτεκτονικές Παράλληλων ΣΒ Αρχιτεκτονικές Παράλληλων ΣΒ ιαµοιραζόµενης Μνήµης 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 Ευαγγελία Πιτουρά 99 Εύκολο στον προγραµµατισµό ύσκολο στον προγραµµατισµό Ακριβό στην κατασκευή Οικονοµικό στην κατασκευή ύσκολη κλιµάκωση VMScluster, Sysplex Εύκολη κλιµάκωση Sequent, SGI, Sun Tandem, Teradata, SP2 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 100 Τύποι Παραλληλίας Σ Β : Η επιτυχία του παραλληλισµού Παραλληλισµός µέσω σωληνωτής εκτέλεσης (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 Ευαγγελία Πιτουρά 101 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 102

18 ιαµερισµός µιας σχέσης ιαµερισµός εδοµένων ιαστήµατα Τιµών Κατακερµατισµός 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 Ευαγγελία Πιτουρά 103 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 104 ιαµερισµός εδοµένων ιαµερισµός εδοµένων ιαστήµατα Τιµών 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 Ευαγγελία Πιτουρά 105 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 106 ιαµερισµός εδοµένων Παραλληλισµός Σειριακού κώδικα ιαστήµατα Τιµών Κατακερµατισµός 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 Ευαγγελία Πιτουρά 107 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 108

19 ιαφορετικοί Τύποι Παραλληλισµού σε Σ Β Παράλληλη Σάρωση (Scan) Παράλληλη εκτέλεση µιας πράξης (Intra-operator parallelism) όλες οι µηχανές εργάζονται στην εκτέλεση µιας συγκεκριµένης πράξης (scan, sort, join) Παράλληλη εκτέλεση πολλών πράξεων (Inter-operator parallelism) κάθε πράξη µπορεί να εκτελείται ταυτόχρονα σε διαφορετικούς κόµβους (και χρήση σωληνωτής εκτέλεσης) Παράλληλη εκτέλεση ερωτήσεων (Inter-query parallelism) διαφορετικές ερωτήσεις εκτελούνται σε διαφορετικούς κόµβους Θα επικεντρωθούµε στο πως µπορούµε να εκτελέσουµε παράλληλα µια πράξη (intra-operator -ism) Σάρωση παράλληλα, µετά συγχώνευση Μια επιλογή µπορεί να µην απαιτεί την προσπέλαση όλων των κόµβων στην περίπτωση του διαµερισµού διαστήµατος ή κατακερµατισµού. Μπορούµε να διατηρούµε ευρετήρια σε κάθε κόµβο (για κάθε τµήµα δεδοµένων). Ερώτηση: Ποιο είναι το κατάλληλο ευρετήριο για κάθε είδος διαµερισµού δεδοµένων; Βάσεις εδοµένων II Ευαγγελία Πιτουρά 109 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 110 Παράλληλη Ταξινόµηση Παράλληλες Συναθροιστικές Σηµερινά απόδοση: 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)) κοκ... Για οµαδοποίηση (group by): Sub-aggregate groups close to the source. Pass each sub-aggregate to its group s site. Chosen via a hash fn. Count Count Count Count Count A Table Count A...E F...J K...N O...S T...Z Βάσεις εδοµένων II Ευαγγελία Πιτουρά 111 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 112 Jim Gray & Gordon Bell: VLDB 95 Parallel Database Systems Survey Παράλληλες Συνενώσεις Παράλληλη συνένωση µε κατακερµατισµό Εµφωλευµένος Βρόγχος (Nested loop): Κάθε εξωτερική πλειάδα πρέπει να συγκριθεί µε κάθε εσωτερική πλειάδα µε την οποία ίσως συνενώνεται Εύκολο όταν έχουµε διαµοιρασµό διαστηµάτων τιµών στο γνώρισµα που θα γίνει η συνένωση, σύσκολο αλλιώς Συνένωση αφού γίνει ταξινόµηση Sort-Merge (or plain Merge-Join): Η ταξινόµηση δίνει διαχωρισµό διαστηµάτων. Πρόβληµα αντιµετώπισης δύο µη οµοιόµορφων κατανοµών Merging partitioned tables is local. 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 Ευαγγελία Πιτουρά 113 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 114

20 ίκτυο Ροής για Συνένωση Παραλληλισµός Πλάνου Εκτέλεσης Ερώτησης Σύνθετες ερωτήσεις: Inter-Operator παραλληλισµός Σωλήνωση µεταξύ τελεστών: note that sort and phase 1 of hash-join block the pipeline!! Bushy (θαµνώδη δέντρα) Sites 1-8 Sites 1-4 Sites 5-8 A B R S Βάσεις εδοµένων II Ευαγγελία Πιτουρά 115 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 116 Observations Παράλληλη βελτιστοποίηση ερωτήσεων It is relatively easy to build a fast parallel query executor S.M.O.P. It is hard to write a robust and worldclass parallel query optimizer. There are many tricks. One quickly hits the complexity barrier. Still open research! Κοινή Προσέγγιση: 2 φάσεις Επιλογή του καλύτερου σειριακού πλάνου Επέλεξε το βαθµό παραλληλισµού. Ανάθεσε τελεστές (πράξεις) σε υπολογιστές ηλαδή, πρόσθεσε στο δέντρο εκτέλεσης πληροφορία για το που θα εκτελεστεί µια ερώτηση Βάσεις εδοµένων II Ευαγγελία Πιτουρά 117 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 118 What s Wrong With That? Περίληψη Το καλύτερο σειριακό πλάνο!= Καλύτερο πλάνο! Γιατί; Trivial counter-example: Table partitioned with local secondary index at two nodes Range query: all of node 1 and 1% of node 2. Node 1 should do a scan of its partition. Node 2 should use secondary index. SELECT * FROM telephone_book WHERE name < NoGood ; Table Scan Index Scan -ism natural to query processing: Both pipeline and partition -ism! Shared-Nothing vs. Shared-Mem Shared-disk too, but less standard Shared-mem easy, costly. Doesn t scaleup. Shared-nothing cheap, scales well, harder to implement. Intra-op, Inter-op, & Inter-query -ism all possible. A..M N..Z Βάσεις εδοµένων II Ευαγγελία Πιτουρά 119 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 120

21 Περίληψη Περίληψη Data layout choices important! Most DB operations can be done partition- Sort. Sort-merge join, hash-join. Complex plans. Allow for pipeline- ism, but sorts, hashes block the pipeline. Partition -ism acheived via bushy trees. Hardest part of the equation: optimization. 2-phase optimization simplest, but can be ineffective. More complex schemes still at the research stage. We haven t said anything about Xacts, logging. Easy in shared-memory architecture. Takes some care in shared-nothing. Βάσεις εδοµένων II Ευαγγελία Πιτουρά 121 Βάσεις εδοµένων II Ευαγγελία Πιτουρά 122

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

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

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4) ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνικές Ανάνηψης Περιεχόµενα

Τεχνικές Ανάνηψης Περιεχόµενα Τεχνικές Ανάνηψης Περιεχόµενα Εισαγωγή & υποθέσεις εργασίας Αλγόριθµος Write-Ahead Log (WAL) Ανάνηψη τη παρουσία WAL 2 Επίπεδα αποθήκευσης Κυρίως µνήµη RAM, cache Ταχύτητα στην προσπέλαση Τα δεδοµένα χάνονται

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

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

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

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

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε Επιθυµητές Ιδιότητες µιας οσοληψίας Τεχνικές Ανάκαµψης Ιδιότητες οσοληψιών Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση)

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

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Βασικές Έννοιες - εδοµένα { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, +

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

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

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

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

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

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

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

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

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

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

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

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

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

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

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

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

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06. Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «Κατανεµηµένα Συστήµατα Αρχείων (1/2)» ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Σύστηµα αρχείων Αποθήκευση, προσπέλαση και διαχείριση δεδοµένων

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1

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

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

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

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

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

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance

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

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

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

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

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

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, Ελληνική

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

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

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

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

Επισκόπηση Μαθήµατος

Επισκόπηση Μαθήµατος Βάσεις εδοµένων 5 ο Εξάµηνο ηµήτρης Λέκκας Επίκουρος Καθηγητής dlekkas@env.aegean.gr Τµήµα Στατιστικής & Αναλογιστικών-Χρηµατοοικονοµικών Μαθηµατικών Επισκόπηση Μαθήµατος Εισαγωγή (Σ Β ) Το µοντέλο σχέσεων

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

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

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

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

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

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε Επιθυµητές Ιδιότητες µιας οσοληψίας Τεχνικές Ανάκαµψης Ιδιότητες οσοληψιών Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση)

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

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

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

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

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

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

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

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

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project Δημιουργήστε τους πίνακες (tables.sql) και εισάγετε τα δεδομένα (distributedby.sql 143.153 πλειάδες, movie.sql 193.781 πλειάδες,

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

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

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

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

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

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

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

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

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

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 δε συμμετείχε το γνώρισμα

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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