Περίληψη |
Τα ομότιμα (peer-to-peer) συστήματα έχουν γίνει πρόσφατα ένα δημοφιλές μέσο, διαμέσου του οποίου είναι δυνατόν να διαμοιραστούν μεγάλα ποσά δεδομένων. Τα peer-to-peer συστήματα είναι κατανεμημένα συστήματα στα οποία οι κόμβοι μπορούν να διαμοιράσουν πόρους, πληροφορίες και υπηρεσίες, ενώ εξακολουθούν να παραμένουν πλήρως αυτόνομοι. Παρά το γεγονός ότι τα peer-to-peer συστήματα έχουν μια μεγάλη ποικιλία από εφαρμογές, υπάρχουν ακόμη πεδία εφαρμογών τα οποία δεν έχουν αναπτυχθεί πολύ. Ένα από αυτά έχει να κάνει με τα peer-to-peer δίκτυα και τις τεχνολογίες βάσεων δεδομένων. Η κύρια ιδέα είναι η υποστήριξη και ο διαμοιρασμός των σχεσιακών δεδομένων που βρίσκονται στις βάσεις δεδομένων μέσα σε ένα peer-to-peer περιβάλλον. Εξαιτίας της δυναμικής φύσης κάθε κόμβου η θεώρηση ενός συνολικού σχήματος δεν είναι εφικτή, όπως και ο έλεγχος στην τοποθέτηση των σχεσιακών δεδομένων σε κάθε κόμβο του δικτύου. Συνακόλουθα, η αποστολή μιας SQL επερώτησης σε όλους τους κόμβους του δικτύου είναι μια μη πρακτική και κλιμακώσιμη ενέργεια, καθώς οι κόμβοι δε θα μπορούν να ερμηνεύσουν την επερώτηση εξαιτίας της ετερογένειας στην πληροφορία, ενώ συνακόλουθα θα υπάρχει μεγάλη επιβάρυνση στην κίνηση του δικτύου σε πλήθος μηνυμάτων. Για την εξυπηρέτηση και την σωστή δρομολόγηση μιας επερώτησης σε peer-to-peer περιβάλλον έχουν προταθεί τεχνικές για την δημιουργία αντιστοιχίσεων μεταξύ των σχημάτων. Στην παρούσα εργασία παρουσιάζουμε την σχεδίαση και υλοποίηση της εφαρμογής RDPeer για τη διαχείριση και διαμοιρασμό των σχεσιακών δεδομένων, χωρίς την ύπαρξη ενός συνολικού σχήματος ή τη δημιουργία κοινοτήτων από peers βασισμένη στο σημασιολογικό περιεχόμενο των δεδομένων. Το RDPeer είναι ένα υβριδικό peer-to-peer σύστημα, που επιτρέπει σε κάθε peer να συμμετέχει ταυτόχρονα σε περισσότερες από μία κοινότητες, να συνδέεται σε μια βάση δεδομένων, να θέτει SQL επερωτήσεις και να λάβει απαντήσεις από τους peers που έχουν σχετικά με την επερώτηση δεδομένα. Το RDPeer προσπαθεί να επιλύσει το πρόβλημα της δρομολόγησης των επερωτήσεων με την δυναμική δημιουργία των super-peers μέσω «εκλογών». Οι super-peers αναλαμβάνουν να συλλέξουν τα σχήματα των σχεσιακών βάσεων δεδομένων και να εξυπηρετήσουν τις επερωτήσεις. Η εξυπηρέτηση των επερωτήσεων πραγματοποιείται σε δύο φάσεις. Η πρώτη περιλαμβάνει τη δημιουργία αντιστοιχίσεων μεταξύ των SQL επερωτήσεων και των σχημάτων των peers κατά τη διάρκεια που τίθεται η επερώτηση, ενώ η δεύτερη λαμβάνοντας τις αντιστοιχίσεις διενεργεί μετασχηματισμό των επερωτήσεων. Η διαδικασία του μετασχηματισμού έχει σαν αποτέλεσμα την παραγωγή SQL επερωτήσεων για τους peers που διαθέτουν δεδομένα και βοηθάει στην ισότιμη εξαγωγή τους από κάθε peer.
|