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

Μια Κατανεμημένη Βάση Δεδομένων (ΚΒΔ) είναι η βάση δεδομένων στην οποία τμήματά της αποθηκεύονται σε πολλούς υπολογιστές σε ένα δίκτυο.
Οι χρήστες έχουν πρόσβαση στο τμήμα της βάσης δεδομένων στην τοποθεσία τους, έτσι ώστε να έχουν πρόσβαση στα δεδομένα που σχετίζονται με τα καθήκοντά τους, χωρίς να επηρεάζεται η εργασία των άλλων χρηστών. Ένα κεντρικό κατανεμημένο σύστημα διαχείρισης βάσεων δεδομένων (DDBMS) διαχειρίζεται την βάση δεδομένων σαν να ήταν όλα αποθηκευμένα στον ίδιο υπολογιστή. Το DDBMS συγχρονίζει όλα τα δεδομένα περιοδικά και σε περίπτωση που πολλοί χρήστες πρέπει να έχουν πρόσβαση στα ίδια δεδομένα, διασφαλίζει ότι οι διαγραφές και ενημερώσεις σε μια τοποθεσία, αυτόματα αντικατοπτρίζονται στα δεδομένα που είναι αποθηκευμένα οπουδήποτε αλλού.

## Διαφάνεια ΚΒΔ

"Ένα" κατανεμημένο σύστημα βάσεων δεδομένων πρέπει να παρέχει μια σειρά από χαρακτηριστικά που καθιστούν την κατανεμημένη φύση του διαφανή
στον χρήστη. Τα χαρακτηριστικά αυτά είναι:

* Διαφάνεια τοποθεσίας
* Διαφάνεια αναπαραγωγής
* Διαφάνεια επίδοσης
* Διαφάνεια συναλλαγής
* Διαφάνεια καταλόγου

Η τεχνολογία των ΚΒΔ έχει αναδειχθεί σαν συνένωση δύο τεχνολογιών: (1) της τεχνολογίας βάσεων δεδοµένων και (2) της τεχνολογίας δικτύων και επικοινωνιών δεδοµένων. Η τελευταία έχει κάνει µεγάλα βήματα όσο αφορά τις ενσύρματες και τις ασύρματες επικοινωνίες, από δορυφορικές και κυψελοειδείς επικοινωνίες και μητροπολιτικά δίκτυα όσο και σε τυποποίηση και πρωτόκολλα όπως το Ethernet, το TCP/IP, και τον ασύγχρονο τρόπο µεταφοράς (Asynchronous Transfer Mode ΑΤΜ) καθώς και την επέκταση του Internet. Ενώ στα πρώτα στάδια οι βάσεις δεδοµένων στη δεκαετία του 1970 και τις αρχές της δεκαετίας του 1980 στηρίχθηκαν σε κεντρικοποιηµένα συστήματα µε αποτέλεσμα µονολιθικές γιγάντιες βάσεις δεδοµένων, η τάση στο τέλος της δεκαετίας του 80 αναστράφηκε σε περισσότερη αποκέντρωση και αυτονομία της επεξεργασίας.

Με τις εξελίξεις στην κατανεµηµένη επεξεργασία και στα λειτουργικά συστήµατα κατανεµηµένων συστηµάτων, η ερευνητική κοινότητα των βάσεων δεδοµένων παρήγαγε σημαντικές εργασίες σε θέματα κατανομής δεδοµένων, επεξεργασίας κατανεμημένων επερωτήσεων και δοσοληψιών, διαχείρισης μεταδεδομένων κατανεμημένων δεδομένων, και άλλων θεμάτων, και ανέπτυξε πολλά ερευνητικά πρωτότυπα. Ωστόσο, ποτέ δεν προέκυψε σαν ορατό εμπορικό προϊόν, ένα ευρείας κλίμακας ΚΣΔΒΔ που να υλοποιεί τη λειτουργικότητα και τις τεχνικές που προτάθηκαν από την έρευνα στις ΚΒΔ. Οι περισσότεροι σημαντικοί κατασκευαστές ανακατεύθυναν τις προσπάθειές τους από ένα "καθαρό" προϊόν ΚΣΔΒΔ στην ανάπτυξη συστημάτων που βασίζονται στο μοντέλο πελάτη-διακομιστή ή στην ανάπτυξη τεχνολογιών για την προσπέλαση κατανεμημένων ετερογενών πηγών δεδομένων.

Ωστόσο, οι οργανισμοί στα πλαίσια των γεωγραφικά κατανεμημένων βάσεων δεδομένων, εφαρμογών, και χρηστών έχουν ενδιαφερθεί πολύ για την αποκέντρωση των επεξεργασιών (σε επίπεδο συστήματος) με ταυτόχρονη ενοποίηση των πηγών πληροφοριών (σε λογικό επίπεδο). Συνδυασμένη με τις προόδους στις επικοινωνίες υπάρχει σήμερα μια γενική αποδοχή της προσέγγισης διακομιστή-πελάτη στην ανάπτυξη εφαρμογών, που υιοθετεί πολλά θέματα ΚΒΔ.

## Έννοιες των κατανεμημένων βάσεων δεδομένων

Οι κατανεμημένες βάσεις δεδοµένων συνδυάζουν τα πλεονεκτήµατα των κατανεµηµένων συστηµάτων µε την περιοχή της διαχείρισης βάσεων δεδοµένων. Ένα κατανεμημένο υπολογιστικό σύστημα αποτελείται από ένα πλήθος υπολογιστικών στοιχείων, όχι απαραίτητα οµογενών, που διασυνδέονται µε ένα υπολογιστικό δίκτυο και που συνεργάζονται στην εκτέλεση µιας εργασίας. Σαν γενικό στόχο, τα κατανεµηµένα συστήµατα διασπούν ένα µεγάλο, δύσκολα διαχειριζόµενο πρόβλημα σε µικρότερα τµήµατα και το λύνουν αποδοτικά µε ένα συντονισμένο τρόπο. Η οικονοµική βιωσιµότητα αυτής της προσέγγισης απορρέει από δύο λόγους: (1) διατίθεται περισσότερη υπολογιστική ισχύς για τη λύση µιας πολύπλοκης εργασίας, και (2) η διαχείριση για κάθε αυτόνομο υπολογιστικό στοιχείο µπορεί να γίνει ανεξάρτητα και καθένα να αναπτύξει τις δικές του εφαρμογές.

Μπορούμε να ορίσουµε µια κατανεμημένη βάση δεδοµένων (ΚΒΔ) σαν συλλογή πολλαπλών λογικά συσχετισµένων βάσεων δεδοµένων διαµοιρασµένων σε ένα υπολογιστικό δίκτυο, και ένα κατανεµηµένο σύστηµα διαχείρισης βάσεων δεδοµένων (ΚΣΔΒΔ) σαν σύστηµα λογισμικού που διαχειρίζεται µια κατανεμημένη βάση δεδοµένων ενώ η κατανομή είναι διαφανής στο χρήστη. Μια συλλογή από αρχεία σε διαφορετικούς κόµβους ενός δικτύου και η διατήρηση των µεταξύ τους συσχετίσεων µέσω υπερσυνδέσµων αποτελεί τη συνηθισµένη οργάνωση στο διαδίκτυο, µε αρχεία Web σελίδων. Στο σενάριο αυτό δεν εφαρµόζονται ακόµη οι συνθηισμένες λειτουργίες διαχείρισης βάσεων δεδοµένων, που συµπεριλαµβάνουν οµοιόµορφη επεξεργασία επερωτήσεων και επεξεργασία δοσοληψιών. Ωστόσο, η τεχνολογία προχωράει στην κατεύθυνση όπου οι βάσεις; δεδοµένων στο World Wide Web (WWW) θα αποτελούν πραγµατικότητα στο εγγύς µέλλον.

## Παράλληλη έναντι κατανεμημένης τεχνολογίας

Στρέφοντας την προσοχή µας στις αρχιτεκτονικές συστηµάτων, υπάρχουν δύο βασικοί τύποι αρχιτεκτονικών συστηµάτων πολυεπεξεργαστών που συνηθίζονται:

Αρχιτεκτονική κοινής µνήµης (στενά συνδεδεµένοι): Πολλοί επεξεργαστές µοιράζονται την ίδια δευτερεύουσα (δίσκος) αποθήκευση και µοιράζονται και την ίδια κύρια µνήµη.
Αρχιτεκτονική κοινού δίσκου (χαλαρά συνδεδεµένοι): Πολλοί επεξεργαστές µοιράζονται την δευτερεύουσα αποθήκευση (δίσκος) αλλά έχει ο καθένας τη δική του κύρια µνήµη.

Οι αρχιτεκτονικές αυτές επιτρέπουν στους επεξεργαστές να επικοινωνούν χωρίς τον επιπλέον φόρτο της ανταλλαγής μηνυμάτων στο δίκτυο. Τα συστήματα διαχείρισης βάσεων δεδομένων που αναπτύχθηκαν με χρήση των παραπάνω τύπων αοχιτεκτονικών ονομάζονται παράλληλα συστήματα διαχείρισης βάσεων δεδομένων και όχι ΚΣΔΒΔ, αφού χρησιμοποιούν την τεχνολογία παράλληλων επεξεργαστών, Ένας άλλος τύπος αρχιτεκτονικής πολλών επεξεργαστών ονομάζεται αρχιτεκτονική χωρίς οτιδήποτε κοινό (shared nothing). Στην αρχιτεκτονική αυτή, κάθε επεξεργαστής έχει τη δική του κύρια και δευτερεύουσα (δίσκος) μνήμη, δεν υπάρχει κοινή μνήμη, και οι επεξεργαστές επικοινωνούν με ένα υψηλής ταχύτητας δίκτυο διασύνδεσης. Αν αυτή η αρχιτεκτονική προσομοιάζει το υπολογιστικό περιβάλλον των κατανεμημένων βάσεων δεδομένων, υπάρχουν σημαντικές διαφορές στον τρόπο λειτουργίας. Στα συστήματα χωρίς οτιδήποτε κοινό, υπάρχει συμμετρία και ομοιογένεια των κόμβων, κάτι που δεν αληθεύει για το περιβάλλον κατανεμημένων βάσεων δεδομένων όπου συνηθίζεται η ετερογένεια του υλικού και των λειτουργικών συστημάτων σε κάθε κόμβο. Οι διαμοιρασμένες αρχιτεκτονικές θεωρούνται επίσης σαν περιβάλλον για παράλληλες βάσεις δεδομένων.

## Επιπλέον λειτουργίες των κατανεμημένων βάσεων δεδομένων

Η κατανομή οδηγεί σε αυξημένη πολυπλοκότητα στο σχεδιασμό και την υλοποίηση του συστήματος. Για να επιτευχθούν τα δυνητικά πλεονεκτήματα που αναφέρθηκαν προηγουμένως, πρέπει το λογισμικό του ΚΣΔΒΔ να έχει τη δυνατότητα να παρέχει τις ακόλουθες πρόσθετες λειτουργίες, σε σχέση με αυτές ενός κεντρικού συστήματος:
Καταγραφή των δεδομένων: η δυνατότητα καταγραφής της κατανομής και της ομοιοτυπίας των δεδομένων στον κατάλογο του ΚΣΔΒΔ.
Κατανεμημένη επεξεργασία επερωτήσεων: η δυνατότητα προσπέλασης σε απομακρυσμένες εγκαταστάσεις και η διακίνηση επερωτήσεων και δεδομένων μεταξύ διαφορετικών εγκαταστάσεων, μέσω ενός επικοινωνιακού δικτύου.
Κατανεμημένη διαχείριση δοσοληψιών: η δυνατότητα διαμόρφωσης στρατηγικών εκτέλεσης για επερωτήσεις και δοσοληψίες που προσπελαύνουν δεδομένα σε περισσότερες από μία εγκαταστάσεις.
Διαχείριση δεδομένων ομοιοτυπίας: η δυνατότητα να αποφασίζει ποιο αντίγραφο ενός δεδομένου για το οποίο χρησιμοποιείται ομοιοτυπία θα προσπελασθεί και η δυνατότητα διατήρησης της συνέπειας μεταξύ των αντιγράφων ενός δεδομένου που επαναλαμβάνεται.
Ανάκαμψη κατανεμημένων βάσεων δεδομένων: η δυνατότητα ανάκαμψης από αποτυχίες στις επιμέρους εγκαταστάσεις και από νέους τύπους αποτυχιών, όπως η αποτυχία μιας επικοινωνιακής σύνδεσης.
Ασφάλεια: Οι κατανεμημένες δοσοληψίες πρέπει να εκτελούνται με την κατάλληλη διαχείριση της ασφάλειας των δεδομένων και τα προνόμια δικαιοδοσίας και προσπέλασης των χρηστών.
Διαχείριση κατανεμημένου ευρετηρίου (καταλόγου): Ένα ευρετήριο περιέχει πληροφορίες (μεταδεδομένα) για τα δεδομένα στη βάση δεδομένων. Το ευρετήριο μπορεί να είναι καθολικό για όλη την ΚΒΔ, ή τοπικό για κάθε εγκατάσταση. Η τοποθέτηση και η κατανομή του ευρετηρίου αποτελούν θέμα σχεδιασμού και πολιτικής.

Οι λειτουργίες αυτές αυξάνουν την πολυπλοκότητα ενός ΚΣΔΒΔ σε σχέση με ένα κεντρικό ΣΔΒΔ. Πριν μπορέσουμε να επωφεληθούμε πλήρως από τα πλεονεκτήματα της κατανομής, πρέπει να βρούμε ικανοποιητικές λύσεις σε αυτά τα σχεδιαστικά θέματα και προβλήματα. Ο στόχος να συμπεριληφθεί όλη αυτή η λειτουργικότητα στο ΚΣΔΒΔ είναι δύσκολο να επιτευχθεί και η εύρεση βέλτιστων λύσεων είναι ακόμη μακριά.

Στο επίπεδο του φυσικού υλικού οι ακόλουθοι βασικοί παράγοντες διαχωρίζουν ένα ΚΣΔΒΔ από ένα συγκεντρωτικό σύστημα:

Υπάρχουν πολλοί υπολογιστές που ονομάζονται εγκαταστάσεις ή κόμβοι. Οι κόμβοι αυτοί πρέπει να συνδέονται με κάποιον τύπο επικοινωνιακού δικτύου για τη μεταφορά δεδομένων και εντολών μεταξύ των κόμβων.

Οι κόμβοι μπορεί να βρίσκονται φυσικά κοντά, για παράδειγμα στο ίδιο κτίριο ή ομάδα γειτονικών κτιρίων και να συνδέονται με ένα τοπικό δίκτυο, ή μπορεί να είναι γεωγραφικά κατανεμημένοι σε μεγάλες αποστάσεις και να συνδέονται μέσω δικτύου ευρείας ζώνης. Τυπικά. τα τοπικά δίκτυα χρησιμοποιούν καλώδια ενώ τα δίκτυα ευρείας ζώνης χρησιμοποιούν τηλεφωνικές γραμμές ή δορυφόρους. Είναι επίσης δυνατόν να χρησιμοποιηθεί συνδυασμός των δύο τύπων δικτύων.

Τα δίκτυα μπορεί να έχουν διαφορετικές τοπολογίες, οι οποίες ορίζουν τις διαδρομές άμεσης επικοινωνίας μεταξύ των κόμβων. Ο τύπος και η τοπολογία του δικτύου που χρησιμοποιείται μπορεί να έχει σημαντική επίδραση στην απόδοση και επομένως στις στρατηγικές για κατανεμημένη επεξεργασία επερωτήσεων και στο σχεδιασμό της κατανεμημένης βάσης δεδομένων. Ωστόσο, για θέματα αρχιτεκτονικής υψηλού επιπέδου δεν έχει σημασία ο τύπος του δικτύου που χρησιμοποιείται. Το μόνο που έχει σημασία είναι κάθε κόμβος να επικοινωνεί άμεσα ή έμμεσα με κάθε άλλο κόμβο.

Οι κόμβοι μπορεί να βρίσκονται φυσικά κοντά, για παράδειγμα στο ίδιο κτίριο ή ομάδα γειτονικών κτιρίων και να συνδέονται με ένα τοπικό δίκτυο, ή μπορεί να είναι γεωγραφικά κατανεμημένοι σε μεγάλες αποστάσεις και να συνδέονται μέσω δικτύου ευρείας ζώνης. Τυπικά. τα τοπικά δίκτυα χρησιμοποιούν καλώδια ενώ τα δίκτυα ευρείας ζώνης χρησιμοποιούν τηλεφωνικές γραμμές ή δορυφόρους. Είναι επίσης δυνατόν να χρησιμοποιηθεί συνδυασμός των δύο τύπων δικτύων.

Τα δίκτυα μπορεί να έχουν διαφορετικές τοπολογίες, οι οποίες ορίζουν τις διαδρομές άμεσης επικοινωνίας μεταξύ των κόμβων. Ο τύπος και η τοπολογία του δικτύου που χρησιμοποιείται μπορεί να έχει σημαντική επίδραση στην απόδοση και επομένως στις στρατηγικές για κατανεμημένη επεξεργασία επερωτήσεων και στο σχεδιασμό της κατανεμημένης βάσης δεδομένων. Ωστόσο, για θέματα αρχιτεκτονικής υψηλού επιπέδου δεν έχει σημασία ο τύπος του δικτύου που χρησιμοποιείται. Το μόνο που έχει σημασία είναι κάθε κόμβος να επικοινωνεί άμεσα ή έμμεσα με κάθε άλλο κόμβο.

## Τύποι κατανεμημένων βάσεων δεδομένων

Ο όρος κατανεµηµένο σύστηµα διαχείρισης βάσεων δεδοµένων µπορεί να περιγράφει πολλά συστήµατα που από πολλές απόψεις διαφέρουν µεταξύ τους. Το βασικό κοινό σημείο όλων αυτών των συστηµάτων είναι το γεγονός ότι τόσο τα δεδοµένα όσο και το λογισµικό είναι κατανεµηµένα σε πολλούς κόµβους που συνδέονται µε κάποια µορφή επικοινωνιακού δικτύου. Παρακάτω εξετάζουμε ένα πλήθος από τύπους κατανεµηµένων συστηµάτων διαχείρισης βάσεων δεδοµένων, καθώς και τα κριτήρια και τους παράγοντες που διαφοροποιούν µερικά από τα συστήµατα αυτά.

Ο πρώτος παράγοντας που εξετάζεται είναι ο βαθµός οµογένειας του λογισµικού του ΚΣΔΒΔ. Αν όλοι οι διακοµιστές (ή τα επί µέρους τοπικά ΣΔΒΔ) χρησιµοποιούν το ίδιο λογισµικό και όλοι οι πελάτες χρησιµοποιούν πανοµοιότυπο λογισµικό, το ΚΣΔΒΔ ονοµάζεται οµογενές διαφορετικά ονοµάζεται ετερογενές. Ένας άλλος παράγοντας που σχετίζεται µε το βαθµό οµογένειας είναι ο βαθµός τοπικής αυτονοµίας. Αν όλες οι προσπελάσεις στο ΚΣΔΒΔ πρέπει να γίνουν µέσω ενός πελάτη, τότε το σύστηµα δεν έχει τοπική αυτονοµία. Από την άλλη πλευρά, αν επιτρέπεται άμεση προσπέλαση από τοπικές δοσοληψίες σε έναν διακοµιστή, το σύστηµα έχει κάποιο βαθµό τοπικής αυτονοµίας.
Στο ένα άκρο του φάσµατος της αυτονοµίας υπάρχει ένα ΚΣΔΒΔ που "παρουσιάζεται" στο χρήστη σαν ένα συγκεντρωτικό ΣΔΒΔ. Υπάρχει ένα µόνο εννοιολογικό σχήµα και όλες οι προσπελάσεις στο σύστηµα γίνονται µέσω ενός κόµβου που είναι µέρος του ΚΣΔΒΔ, που σηµαίνει δεν υπάρχει τοπική αυτονοµία. Στο άλλο άκρο συναντάµε έναν τύπο ΚΣΔΒΔ που ονοµάζεται οµόσπονδο ΚΣΔΒΔ (federated DDBMS) ή σύστηµα πολλαπλών βάσεων δεδοµένων (multidatabase system). Σε ένα τέτοιο σύστηµα κάθε διακοµιστής είναι ένα ανεξάρτητο και αυτόνοµο κεντρικ6 ΣΔΒΔ µε τοπικούς χρήστες, τοπικές δοσοληψίες και ΔΒΔ και εποµένως πολύ υψηλό βαθµό τοπικής αυτονοµίας.

Ο όρος οµόσπονδο σύστηµα βάσης δεδοµένων χρησιµοποιείται όταν υπάρχει κάποια συνολική όψη ή σχήµα των οµόσπονδων βάσεων δεδοµένων κοινό στις εφαρµογές. Από την άλλη µεριά, ένα σύστηµα πολλαπλών βάσεων δεδοµένων δεν έχει ένα καθολικό σχήµα και κατασκευάζει διαδραστικά ένα όπως το χρειάζεται η εφαρμογή. Και τα δύο συστήµατα αποτελούν µια υβριδική µορφή µεταξύ κατανεµηµένων και συγκεντρωτικών συστηµάτων, θα αναφεοόµαστε και στα δύο σαν οµόσπονδα συστήµατα βάσεων δεδοµένων (ΟΣΒΔ).

Σε ένα ετερογενές ΟΣΒΔ ένας διακοµιστής µπορεί να είναι ένα σχεσιακό ΣΔΒΔ, ένας άλλος να είναι ένα δικτυωτό ΣΔΒΔ κι ένας τρίτος να είναι ένα ιεραρχικό ΣΔΒΔ. Σε µια τέτοια περίπτωση είναι απαραίτητο να υπάρχει µια κανονική γλώσσα συστήµατος και να συµπεριληφθούν στους πελάτες µεταφραστές γλωσσών οι οποίοι θα µεταφράζουν υποεπερωτήσεις από την κανονική γλώσσα στη γλώσσα του κάθε διακοµιστή. Πεοιγράφουµε περιληπτικά παρακάτω τους παράγοντες που επηρεάζουν τον σχεδιασµό ΟΣΒΔ:

* Διαφορές στα µοντέλα δεδοµένων: Οι βάσεις δεδοµένων σε έναν οργανισµό προέρχονται απ διαφορετικά µοντέλα δεδοµένων συµπεριλαµβανοµένων των ονοµαζόµενων παοαδοσιακών µοντέλων (δικτυωτό και ιεραρχικό), το σχεσιακό µοντέλο δεδοµένων, το αντικειµενοστρεφές µοντέλο δεδοµένων, ακόµη και αρχεία. Οι δυνατότητα µοντελοποίησης με τα μοντέλα αυτά ποικίλουν. Επομένως, αποτελεί πρόκληση να αντιμετωπισθούν ομοιόμορφα μέσω ενός καθολικού σχήματος ή η επεξεργασία τους από μια γλώσσα. Ακόμη και αν δύο βάσεις δεδομένων είναι και οι δύο σε σχεσιακό περιβάλλον, η ίδια πληροφορία μπορεί να παριστάνεται σαν όνομα γνωρίσματος, σαν όνομα σχέσης, ή σαν τιμή σε διαφορετικές βά-σεις δεδομένων. Αυτό απαιτεί ένα έξυπνο μηχανισμό επεξεργασίας επερωτήσεων που μπορεί να σχετίζει πληροφορίες βασισμένες στα μεταδεδομένα.

* Διαφορές στους περιορισμούς: Οι δυνατότητες για προσδιορισμό και υλοποίηση περιορισμών διαφέρουν από σύστημα σε σύστημα. Υπάρχουν συγκρίσιμα χαρακτηριστικά που πρέπει να διευθετηθούν στην κατασκευή ενός καθολικού σχήματος. Για παράδειγμα, οι συσχετίσεις από τα μοντέλα ΟΣ παριστάνονται σαν αναφορικοί περιορισμοί ακεραιότητας στο σχεσιακό μοντέλο. Για να υλοποιηθούν ορισμένοι περιορισμοί στο σχεσιακό μοντέλο μπορεί να χρειασθεί να χρησιμοποιηθούν σκανδάλες. Το καθολικό σχήμα θα πρέπει να αντιμετωπίσει επίσης πιθανές αντιθέσεις μεταξύ περιορισμών.

* Διαφορές στις γλώσσες επερωτήσεων: Ακόμη και με το ίδιο μοντέλο δεδομένων, οι γλώσσες και οι εκδόσεις τους διαφέρουν. Για παράδειγμα, η SQL έχει πολλές εκδόσεις, και κάθε σύστημα έχει τους δικούς του τύπους δεδομένων, τελεστές σύγκρισης, χαρακτηριστικά διαχείρισης συμβολοσειρών, κοκ.

* Σημασιολογική ετερογένεια. Σημασιολογική ετερογένεια συμβαίνει όταν υπάρχουν διαφορές στη σημασία, την ερμηνεία, και την προτιθέμενη χρήση των ίδιων ή συσχετιζόμενων δεδομένων. Η σημασιολογική ετερογένεια μεταξύ των συνιστωσών συστημάτων βάσεων δεδομένων δημιουργεί εμπόδιο στο σχεδιασμό καθολικών σχημάτων ετερογενών βάσεων δεδομένων. Η αυτονομία σχεδιασμού των συνιστωσών συστημάτων βάσεων δεδομένων αναφέρεται στην ελευθερία τους να επιλέξουν τις παρακάτω παραμέτρους σχεδιασμού, που με την σειρά τους επηρεάζουν την τελική πολυπλοκότητα των ΟΣΒΔ:

* Ο χώρος στον κόσμο από τον οποίο επιλέγονται τα δεδομένα: Για παράδειγμα, δύο βάσεις δεδομένων λογαριασμών πελατών στην ομοσπονδία μπορεί να είναι από τις ΗΠΑ και από την Ιαπωνία με τελείως διαφορετικά σύνολα γνωρισμάτων για λογαριασμούς πελατών που απαιτούνται για την πρακτική των λογιστηρίων. Οι μεταβολές στην αντιστοιχία των νομισμάτων αποτελούν επίσης πρόβλημα. Επομένως, στις δύο αυτές βάσεις δεδομένων σχέσεις που έχουν ίδια ονόματα ΠΕΛΑΤΗΣ ή ΛΟΓ APIAΣMOΣ μπορεί να έχουν κάποιες κοινές και κάποιες εντελώς διαφορετικές πληροφορίες.

* Αναπαράσταση και ονοματολογία: Η αναπαράσταση και η ονομασία των δεδομένων και της δομής του μοντέλου δεδομένων μπορεί να έχουν προσδιορισθεί αρχικά σε κάθε μια από τις τοπικές βάσεις δεδομένων.

Η κατανόηση, η σημασία, και η υποκειμενική ερμηνεία των δεδομένων:
Αυτά έχουν σημαντική συμβολή στη σημασιολογική ετερογένεια.

* Περιορισμοί δοσοληψιών και πολιτικής: Αντιμετωπίζουν κριτήρια σειριοποιησιμότητας, επανορθωτικές δοσοληψίες, και άλλες πολιτικές; δοσοληψιών.

Παραγωγή περιλήψεων: Οι συναθροίσεις τα αθροίσματα, και άλλα χαρακτηριστικά επεξεργασίας δεδομένων και πράξεων που υποστηρίζονται από το σύστημα.
Η αυτονομία επικοινωνίας ενός συνιστώντος ΣΒΔ αναφέοεται στη δυνατότητα να αποφασίζει αν θα επικοινωνήσει με ένα άλλο συνιστόν ΣΒΔ. Η αυτονομία εκτέλεσης αναφέρεται στη δυνατότητα ενός συνιστώντος ΣΒΔ να εκτελεί τοπικές πράξεις χωρίς παρεμβολή από εξωτερικές πράξεις από άλλα συνιστώντα ΣΒΔ και τη δυνατότητα του να αποφασίζει τη σειρά με την οποία θα εκτελεσθούν. Η αυτονομία σύνδεσης ενός συνιστώντος ΣΒΔ υπονοεί ότι έχει τη δυνατότητα να αποφασίζει αν και πόση λειτουργικότητα (πράξεις που υποστηρίζει) του θα μοιράζεται με άλλα συνιστώντα ΣΒΔ. Η σημαντικότερη πρόκληση για το σχεδιασμό ΟΣΒΔ είναι να επιτρέπεται στα συνιστώντα ΣΒΔ να λειτουργούν μεταξύ τους ενώ ταυτόχρονα υποστηρίζουν τους παραπάνω τύπους αυτονομίας.

## Μορφές Κατανεμημένων Δεδομένων

Υπάρχουν πέντε κατηγορίες κατανεμημένων δεδομένων

* Τα δεδομένα που αναπαράγονται
* Οριζόντια κατακερματισμένα δεδομένα
* Κάθετα κατακερματισμένα δεδομένα
* Αναδιοργάνωση δεδομένων
* Χωριστό σχήμα δεδομένων

### Τα δεδομένα που αναπαράγονται

Αναπαραχθέντα δεδομένα σημαίνει ότι αντίγραφα από τα ίδια δεδομένα διατηρούνται σε περισσότερες από μία τοποθεσίες. Τα δεδομένα μπορούν να αναπαραχθούν σε πολλαπλές μηχανές ώστε να αποφευχθεί η μετάδοση δεδομένων μεταξύ συστημάτων. Τα αντίγραφα μπορεί να είναι μόνο για ανάγνωση ή για εγγράψιμα. Τα αντίγραφα μόνο ανάγνωσης έχουν υποστεί αλλαγές στο πρωτότυπο πριν διαδοθούν. Τα εγγράψιμα αντίγραφα διαδίδουν τις αλλαγές στο πρωτότυπο είτε με στρατηγική "write through" ειτε "write back".Το *write through* συνεπάγεται μια σύγχρονη σύνδεση και ενημέρωση σε πραγματικό χρόνο στο πρωτότυπο. Το *write back* επιτρέπει τη διάδοση αλλαγών όταν είναι πλέον κατάλληλα.

### Οριζόντια κατακερματισμένα δεδομένα

Οριζόντια κατακερματισμένα δεδομένα σημαίνει ότι τα δεδομένα είναι κατανεμημένα σε διαφορετικούς τόπους που βασίζονται σε ένα η περισσότερα πρωτεύοντα κλειδιά.

### Κάθετα κατακερματισμένα δεδομένα

Κάθετα κατακερματισμένα δεδομένα είναι τα δεδομένα που έχουν διαχωριστεί από στήλες
σε πολλαπλά συστήματα.Το πρωτεύον κλειδί αναπαράγεται σε κάθε χώρο.

### Αναδιοργάνωση δεδομένων

Αναδιοργάνωση δεδομένων είναι η διαδικασία που ασχολείται με τα δεδομένα που έχουν προκύψει, συνοψίζονται, ή χειραγωγούνται με κάποιο τρόπο.Αυτό το είδος των δεδομένων είναι συνηθισμένα όταν πραγματοποιείται επεξεργασία στήριξης αποφάσεων.Μπορεί να υπάρχουν ορισμένες περιπτώσεις όπου η online επεξεργασία συναλλαγών, καθώς και η λήψη υποστήριξης των συστημάτων διαχείρισης βάσεων δεδομένων είναι διαφορετικά.

### Χωριστό σχήμα δεδομένων

Το Χωριστό σχήμα δεδομένων διατηρεί χωριστές βάσεις δεδομένων και προγράμματα εφαρμογής για τα διαφορετικά συστήματα.

## Πλεονεκτήματα ΚΒΔ

* Μεγαλύτερη αξιοπιστία και διαθεσιμότητα
* Ευκολότερη επέκταση
* Αυτονομία(Τοπική)
* Μια μεμονομένη βλάβη δεν επηρεάζει τις επιδόσεις του συστήματος
* Προστασία των πολύτιμων δεδομένων
* Μεγαλύτερη απόδοση
* Μικρότερο κόστος

Πιο αναλυτικά :

Η κατανεμημένη διαχείριση βάσεων δεδομένων έχει προταθεί για διάφορους λόγους που ποικίλουν από οργανωτική αποκέντρωση και οικονομική επεξεργασία έως και μεγαλύτερη αυτονομία. Τονίζονται μερικά από τα πλεονεκτήματα αυτά παρακάτω:

* Διαχείριση κατανεμημένων δεδομένων με διαφορετικά επίπεδα διαφάνειας: Σε ιδανική περίπτωση ένα ΣΔΒΔ πρέπει να είναι διαφανές στην κατανομή με την έννοια ότι κρύβει τις λεπτομέρειες του πού είναι φυσικά αποθηκευμένο στο σύστημα κάθε αρχείο (πίνακας, σχέση). Θεωρείστε τη βάση δεδομένων εταιρεία στην παρακάτω εικόνα. Οι πίνακες ΕΡΓΑΖΟΜΕΝΟΣ, ΕΡΓΟ, και ΑΠΑΣΧΟΛΗΣΗ μπορεί να είναι κατατεμαχισμένοι οριζόντια (δηλαδή σε σύνολα γραμμων) και αποθηκευμένοι με πιθανή επανάληψη.
* Κατανομή ή διαφάνεια δικτύου: Αυτό αναφέρεται σε απελευθέρωση του χρήστη από λεπτομέρειες του δικτύου, Μπορεί να χωρισθεί σε διαφάνεια θέσης και διαφάνεια ονόματος. Η διαφάνεια θέσης αναφέρεται στο γεγονός ότι η εντολή που χρησιμοποιείται για την εκτέλεση μιας εργασίας είναι ανεξάρτητη από την τοποθεσία των δεδομένων και την τοποθεσία του συστήματος στο οποίο εκδόθηκε η εντολή. Η διαφάνεια ονόματος συνεπάγεται ότι όταν προσδιορισθεί ένα όνομα, το αντικείμενο με το όνομα μπορεί να προσπελασθεί χωρίς ασάφεια χωρίς επιπλέον προσδιορισμό.
* Διαφάνεια οµοιοτυπίας: Όπως φαίνεται στην παρακάτω εικόνα, µπορεί να αποθηκεύονται αντίγραφα των δεδοµένων σε πολλούς κόµβους για καλύτερη διαθεσιµότητα, απόδοση, και αξιοπιστία. Η διαφάνεια οµοιοτυπίας θέλει το χρήστη να µην είναι ενήµερος της ύπαρξης των αντιγράφων.
* Διαφάνεια κατατεµαχισµού: Δύο τύποι κατατεµαχισµού είναι δυνατοί. Ο οριζόντιος κατατεµαχισµός κατανέµει µια σχέση σε σύνολα πλειάδων (γραµµών). Ο κατακόρυφος κατατεµαχισµός κατανέµει µια σχέση σε υποσχέσεις όπου κάθε υποσχέση ορίζεται από ένα υποσύνολο των στηλών της αρχικής σχέσης. Μια καθολική επερώτηση από το χρήστη πρέπει να µετασχηµατισθεί σε πολλές επερωτήσεις κατατεµαχισµού. Η διαφάνεια κατατεµαχισµού θέλει το χρήστη να µην είναι ενήµερος για την ύπαρξη των τεµαχίων.

Άλλοι τύποι διαφάνειας περιλαμβάνουν τη διαφάνεια σχεδιασµού και τη διαφάνεια εκτέλεσης που αναφέρονται στη µη αναγκαιότητα γνώσης του τρόπου σχεδιασµού, της κατανεµηµένης βάσης δεδοµένων και του πού εκτελείται µια δοσοληψία.

* Αυξηµένη αξιοπιστία και διαθεσιµότητα: Αυτά είναι τα δύο πιο γνωστά πλεονεκτήµατα που αποδίδονται στις κατανεµηµένες βάσεις δεδοµένων. Υπό την ευρεία έννοια, η αξιοπιστία ορίζεται ως η πιθανότητα να είναι ένα σύστηµα σε λειτουργία µια δεδοµένη στιγµή, ενω διαθεσιµότητα είναι η πιθανότητα να είναι ένα σύστηµα διαθέσιµο συνεχώς κατά τη διάρκεια ενός χρονικού διαστήµατος. Όταν τόσο τα δεδοµένα όσο και το λογισµικό του ΣΔΒΔ είναι κατανεµηµένα σε διαφορετικές εγκαταστάσεις, µια εγκατάσταση µπορεί να καταρρεύσει ενώ οι άλλες συνεχίζουν να λειτουργούν. Μόνο τα δεδοµένα και το λογισµικό που βρίσκονται στην εγκατάσταση που κατέρρευσε δεν µπορούνν να προσπελασθούν, γεγονός που βελτιώνει τόσο την αξιοπιστία όσο και τη διαθεσιµότητα. Περαιτέρω βελτίωση µπορεί να επιτευχθεί χρησιµοποιώντας ορθολογικά την οµοιοτυπία (replication), αποθηκεύοντας δηλαδή δεδοµένα και λογισµικό σε περισσότερες από µία εγκαταστάσεις. Στα κεντρικοποιηµένα συστήµατα η κατάρρευση µιας εγκατάστασης καθιστά όλο το σύστηµα µη διαθέσιµο σε όλους τους χρήστες. Στις κατανεµηµένες βάσεις δεδοµένων, µπορεί κάποια δεδοµένα να µην είναι διαθέσιµα, αλλά οι χρήστες είναι δυνατόν να προσπελάσουν άλλα τµήµατα της βάσης δεδοµένων.
* Βελτιωµένη απόδοση: Ένα κατανεµηµένο ΣΔΒΔ τεµαχίζει τη βάση δεδοµένων διατηρώντας τα δεδοµένα κοντά στις θέσεις που τα χρειάζονται περισσότερο. Η τοπικότητα των δεδοµένων ελαττώνει τη συµφόρηση στην κεντρική µονάδα επεξεργασίας και στις υπηρεσίες εισόδου/εξόδου και ταυτόχρονα ελαττώνει τις καθυστερήσεις που συµβαίνουν στα δίκτυα ευρείας ζώνης. Όταν µια µεγάλη βάση δεδοµένων κατανέµεται σε πολλές εγκαταστάσεις, κάθε εγκατάσταση φιλοξενεί µια µικρή σχετικά βάση δεδοµένων. Ως αποτέλεσµα, οι τοπικές επερωτήσεις και δοσοληψίες που προσπελαύνουν δεδοµένα μιας εγκατάστασης έχουν καλύτερη απόδοση, διότι οι τοπικές βάσεις δεδομένων είναι μικρότερες. Επιπλέον, κάθε εγκατάσταση έχει να εκτελέσει μικρότερο πλήθος από δοσοληψίες σε σχέση με το συνολικό πλήθος δοσοληψιών που θα υποβαλλόταν σε ένα κεντρικό σύστημα. Επιπλέον, μπορεί να επιτευχθεί παραλληλισμός εντός της επερώτησης και μεταξύ των επερωτήσεων με την εκτέλεση πολλών επερωτήσεων σε διαφορετικές εγκαταστάσεις, ή με τη διάσπαση μιας επερώτησης σε ένα πλήθος υποεπερωτήσεων που εκτελούνται παράλληλα. Αυτό συμβάλλει στη βελτίωση της απόδοσης.
* Ευκολότερη επέκταση: Σε ένα κατανεμημένο περιβάλλον, η επέκταση του συστήματος είτε με προσθήκη δεδομένων, αυξάνοντας το μέγεθος της βάσης δεδομένων, είτε προσθέτοντας περισσότερους επεξεργαστές είναι πολύ πιο εύκολη.

## Μειονεκτήματα ΚΒΔ

* Απαίτηση επιπλέον λογισμικού
* Αυξημένη πιθανότητα για σφάλματα λογισμικού (bugs)
* Έλλειψη προτύπων(εργαλεία-μεθοδολογίες)
* Επιπλέον επεξεργασία-συντήρηση
* Αυξημένη πολυπλοκότητα
* Συγχρονισμός ελέγχου
* Ελλιπής ασφάλεια

## Βιβλιογραφία

* «Συστήματα Διαχείρισης Βάσεων Δεδομένων» των Raghu Ramakrishnan και Johannes Gehrke
* «Συστήματα Βάσεων Δεδομένων» των Abraham Silberschatz, Henry F.Korth, S.Sudarshan
* «Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων»,R. Elmasri & S.B. Navathe , Τόμος Α’ & Β', (μετάφραση Μ. Χατζόπουλος), Εκδόσεις Δίαυλος, 1998