Το αντικείμενο της παρούσας διδακτορικής διατριβής είναι η μελέτη τεχνικών εξισορρόπησης φόρτου σε κατανεμημένα συστήματα διαχείρισης δεδομένων. Στο πρώτο μέρος της εργασίας παρουσιάζεται ένας προσαρμοστικός επιγραμμικός (online) αλγόριθμος με σκοπό την εξισορρόπηση φόρτου εργασίας σε κατανεμημένες δομές δεδομένων που υποστηρίζουν την δρομολόγηση ερωτημάτων εύρους τιμών. Ο προτεινόμενος αλγόριθμος αντιμετωπίζει προβλήματα άνισων κατανομών φόρτου εργασίας που προκύπτουν όταν οι εξυπηρετητές διαμοιράζουν αντικείμενα διαφορετικής δημοτικότητας. Ο αλγόριθμος υλοποιήθηκε και εφαρμόστηκε σε έναν skip-γράφο, ένα δομημένο δίκτυο ομότιμων κόμβων ικανό να δρομολογεί ερωτήματα εύρους τιμών. Ο αλγόριθμος συγκρίθηκε πειραματικά και θεωρητικά κάτω από διαφορετικές και ρεαλιστικές συνθήκες κίνησης με άλλους παρόμοιους αλγόριθμους. Η πειραματική και θεωρητική ανάλυση αποδεικνύει ότι ο προτεινόμενος αλγόριθμος είναι πιο γρήγορος και καταναλώνει λιγότερους δικτυακούς πόρους κατά την διαδικασία της εξισορρόπησης. Στο δεύτερο μέρος της εργασίας παρουσιάζεται μια κατανεμημένη αρχιτεκτονική δεικτοδότησης, αποθήκευσης και επερώτησης διαφορετικού τύπου δεδομένων μεγάλου όγκου. Σχεδιάζουμε και υλοποιούμε ένα κλιμακώσιμο σύστημα στο οποίο τόσο τα περιεχόμενα όσο και τα ευρετήρια αυτών δημιουργούνται και διαμοιράζονται πλήρως παράλληλα. Ο φόρτος εργασίας κατά την δημιουργία και εξυπηρέτηση τόσο των περιεχομένων όσο και του ευρετηρίου εξισορροπείται μεταξύ των κόμβων του συστήματος συνδυάζοντας καινοτόμες τεχνικές παράλληλης ανάλυσης δεδομένων με κατανεμημένες, αραιές NoSQL βάσεις δεδομένων. Το πρωτότυπό μας σύστημα δοκιμάστηκε κάτω από μεγάλο φόρτο ερωτημάτων και η μέση απόκρισή του κρατήθηκε σε τάξη millisecond.
In this thesis, the problem of load balancing in distributed data management systems is studied. In the first part of this thesis, NIXMIG, an adaptive online algorithm that balances load in distributed range partitioned data structures (i.e., structures that are able to answer range queries) is presented. The problem of uneven load distribution that occurs when peers serve objects of varying popularity is addressed. NIXMIG is implemented on top of a Skip Graph, a structured peer to peer system capable of answering range queries. NIXMIG is experimentally and theoretically compared to other load balancing algorithms and the analysis shows that it is faster and consumes less bandwidth during the balancing procedure. In the second part, the problem of indexing and serving large and diverse (unstructured, semi-structured and fully structured) data sets is addressed. A scalable system in which both the index and the content is created and served in a fully distributed way is presented and implemented. The workload of both content and index creation and serving is balanced among cluster peers by combining the power of the latest distributed data analysis frameworks based on MapReduce with an open source implementation of Google's BigTable. The system is tested under heavy query load and its mean query response time was kept in the order of milliseconds.