Επερωτήσεις σύζευξης με κατάταξη
Επερωτήσεις κατάταξης Top-K queries Οι επερωτήσεις κατάταξης επιστρέφουν τις k απαντήσεις που ταιριάζουν καλύτερα με τις προτιμήσεις του χρήστη.
Επερωτήσεις κατάταξης Top-K queries Η κατάταξη (ranking) των πλειάδων (tuples) γίνεται με βάση κάποιο συναθροισμένο score (aggregated score) που προκύπτει όταν μια συνάρτηση f (scoring function) εφαρμοστεί σε ορισμένα γνωρίσματα του πίνακα (scoring attributes) SELECT * FROM PRODUCTS WHERE Category = Laptop ORDER BY Price ASC LIMIT 2; ID Category Model Price 1 Laptop Acer Aspire ES1-111M 255,00 2 Laptop HP - r100 nv 239,00 3 Tablet Dell Venue 11 Pro 4G 974,70 4 Laptop Asus F553MA-SX418H 308,90 5 Smartphone HTC One M9 611,98 6 Tablet Crystal Audio TAB-722 39,90 7 Laptop HP - Stream - 13-c010nv 239,90
Επερωτήσεις σύζευξης Source: Ilyas, Ihab F., George Beskales, and Mohamed A. Soliman. "A survey of top-k query processing techniques in relational database systems." ACM Computing Surveys (CSUR) 40.4 (2008): 11.
Επερωτήσεις σύζευξης με κατάταξη Απλός τρόπος υπολογισμού επερώτησης σύζευξης με κατάταξη: Ανάκτηση της λίστας των φθηνότερων σπιτιών και των φθηνότερων σχολείων Σύζευξη με βάση την τοποθεσία Υπολογισμός του κόστους σπιτιού-διδάκτρων για κάθε πλειάδα που προέκυψε από τη σύζευξη και κατάταξη με βάση το κόστος
Επερωτήσεις σύζευξης με κατάταξη Προβλήματα: Τα top-k αποτελέσματα επιστρέφονται στον χρήστη μόνο αφού ολοκληρωθεί η σύζευξη όλων των πλειάδων. Για μεγάλο αριθμό σπιτιών και σχολείων της ίδιας τοποθεσίας, η επεξεργασία αυτής της επερώτησης με τον παραδοσιακό τρόπο έχει μεγάλο κόστος καθώς απαιτεί τη σύζευξη και κατάταξη μεγάλου όγκου δεδομένων.
Επερωτήσεις σύζευξης με κατάταξη σε κατανεμημένες βάσεις δεδομένων Το κέρδος αυξάνεται όταν αυξάνεται το άθροισμα του ποσού που πληρώνει ο πελάτης και της έκπτωσης που προσφέρει ο προμηθευτής. Σε αυτό το σενάριο, ο διευθυντής πωλήσεων αναζητά: τις 2 πιο κερδοφόρες πωλήσεις για οποιοδήποτε προϊόν (Q1) τις 2 πιο κερδοφόρες πωλήσεις για το προϊόν CPU Source: Doulkeridis, Christos, et al. "Processing of rank joins in highly distributed systems." Data Engineering (ICDE), 2012 IEEE 28th International Conference on. IEEE, 2012.
Επερωτήσεις σύζευξης με κατάταξη σε κατανεμημένες βάσεις δεδομένων Προβλήματα: Οι πλειάδες δεν μπορούν να διαβαστούν επαναληπτικά αρκετές κυκλικές διαδρομές (round trip) στο δίκτυο που έχουν μεγάλο κόστος ακόμα και για σχετικά μικρό αριθμό servers. Ο αριθμός των πλειάδων που πρέπει να προσκομιστούν και να συζευχτούν για τον υπολογισμό του ζητούμενου αποτελέσματος, μπορεί να είναι σημαντικά μεγαλύτερος από την τιμή k που ζητήθηκε από τον χρήστη.
Hadoop - MapReduce Source: T. White. Hadoop - The Definitive Guide. O Reilly, 2012.
MapReduce Απλός αλγόριθμος σύζευξης με κατάταξη Για κάθε επερώτηση σύζευξης με κατάταξη, απαιτείται η ανάγνωση ολόκληρου του συνόλου των δεδομένων. Η κατανομή του φόρτου στις Reduce συναρτήσεις είναι ανάλογη της ανομοιομορφίας των δεδομένων. Για τεράστια σύνολα δεδομένων, τα προβλήματα αυτά εντείνονται καθώς οι χρόνοι επεξεργασίας των επερωτήσεων μεγαλώνουν σημαντικά και οι απαιτήσεις σε υπολογιστικούς πόρους αυξάνονται.
Αντικείμενο έρευνας Η βελτίωση των σταδίων του υπολογιστικού μοντέλου MapReduce με στόχο την αύξηση της απόδοσης του μοντέλου για επερωτήσεις σύζευξης με κατάταξη σε μεγάλα και κατανεμημένα σύνολα δεδομένων, με ταυτόχρονη διατήρηση της επεκτασιμότητας.
Αντικείμενο έρευνας Συγκεκριμένα για την επεξεργασία επερωτήσεων σύζευξης με κατάταξη ενσωματώνουμε στο μοντέλο MapReduce: Τη χρήση συνόψεων δεδομένων (π.χ. ιστογράμματα) για την προσεγγιστική πρόβλεψη των δεδομένων που παράγουν τις Top-K joined πλειάδες. Τεχνική Early Termination που προσφέρει γρήγορα αποτελέσματα χωρίς να πραγματοποιηθεί επεξεργασία του συνόλου των δεδομένων. Τεχνική Load Balancing που εξασφαλίζει ίση κατανομή φόρτου ανάμεσα στους Reducers.
Συνόψεις δεδομένων Εξαγωγή στατιστικών στοιχείων από τα input data sets σε μορφή ιστογραμμάτων Υπολογισμός ορίων στις τιμές των scoring attributes για κάθε data set που συμμετέχει στο join query (score-bound estimation) Source: Doulkeridis, Christos, et al. "Processing of rank joins in highly distributed systems." Data Engineering (ICDE), 2012 IEEE 28th International Conference on. IEEE, 2012.
Συναφείς εργασίες RanKloud: Σύστημα που βασίζεται στο Hadoop και χρησιμοποιεί το μοντέλο MapReduce. Η κεντρική ιδέα είναι η χρήση της δειγματοληψίας για τον εντοπισμό των «χρήσιμων» δεδομένων κατά την επεξεργασία μίας επερώτησης σύζευξης με κατάταξη. Το σύστημα αυτό υλοποιεί επίσης και τεχνική load balancing. Επερωτήσεις σύζευξης σε NoSQL βάσεις δεδομένων: Πρόκειται για ένα σύνολο αλγορίθμων που συνδυάζουν το MapReduce και το HBase για την αποδοτικότερη επεξεργασία των επερωτήσεων ως προς το χρόνο και την κατανάλωση εύρους ζώνης του δικτύου.
Διεξαγωγή πειραμάτων Σε Hadoop cluster. Με χρήση μεγάλων συνόλων δεδομένων ομοιόμορφης κατανομής (uniform) και ανομοιόμορφης (skewed) κατανομής. Σύγκριση των υλοποιημένων MapReduce jobs με τους αλγορίθμους RanKloud και την προσέγγιση NoSQL.
Διεξαγωγή πειραμάτων Ο στόχος των πειραμάτων είναι η σύγκριση της αποδοτικότητας των προτεινόμενων βελτιώσεων σε σχέση με τις υπάρχουσες προσεγγίσεις ως προς : το χρόνο επεξεργασίας των επερωτήσεων την επεκτασιμότητα των δεδομένων το βαθμό ομοιομορφίας
Αναφορές 1. Doulkeridis, Christos, et al. "Processing of rank joins in highly distributed systems." Data Engineering (ICDE), 2012 IEEE 28th International Conference on. IEEE, 2012. 2. Ilyas, Ihab F., George Beskales, and Mohamed A. Soliman. "A survey of top-k query processing techniques in relational database systems." ACM Computing Surveys (CSUR) 40.4 (2008): 11. 3. T. White. Hadoop - The Definitive Guide. O Reilly, 2012. 4. Candan, K. Selcuk, et al. "RanKloud: scalable multimedia data processing in server clusters." MultiMedia, IEEE 18.1 (2011): 64-77. 5. Ntarmos, Nikos, Ioannis Patlakas, and Peter Triantafillou. "Rank join queries in NoSQL databases." Proceedings of the VLDB Endowment 7.7 (2014): 493-504.