Βίντεο: Create and Execute MapReduce in Eclipse 2024
Το MapReduce καθίσταται όλο και πιο χρήσιμο για μεγάλα δεδομένα. Στις αρχές της δεκαετίας του 2000, μερικοί μηχανικοί της Google εξέτασαν το μέλλον και κατέληξαν στο συμπέρασμα ότι ενώ οι τρέχουσες λύσεις τους για εφαρμογές όπως η ανίχνευση ιστού, η συχνότητα ερωτημάτων κ.λπ. ήταν επαρκείς για τις περισσότερες υπάρχουσες απαιτήσεις, ήταν ανεπαρκείς για την πολυπλοκότητα που ανέμεναν web κλιμακώνονται σε όλο και περισσότερους χρήστες.
Αυτοί οι μηχανικοί κατέληξαν στο συμπέρασμα ότι εάν η εργασία μπορούσε να διανεμηθεί σε φθηνούς υπολογιστές και στη συνέχεια να συνδεθεί στο δίκτυο με τη μορφή "συμπλέγματος", θα μπορούσαν να λύσουν το πρόβλημα. Η διανομή μόνο δεν ήταν επαρκής απάντηση. Αυτή η κατανομή εργασίας πρέπει να εκτελείται παράλληλα για τους ακόλουθους τρεις λόγους:
-
Η επεξεργασία πρέπει να μπορεί να επεκταθεί και να συρρικνωθεί αυτόματα.
-
Η επεξεργασία πρέπει να μπορεί να συνεχιστεί ανεξάρτητα από αστοχίες στο δίκτυο ή σε μεμονωμένα συστήματα.
-
Οι προγραμματιστές που αξιοποιούν αυτή την προσέγγιση πρέπει να είναι σε θέση να δημιουργήσουν υπηρεσίες που είναι εύκολο να αξιοποιήσουν οι άλλοι προγραμματιστές. Επομένως, αυτή η προσέγγιση πρέπει να είναι ανεξάρτητη από την περίπτωση που τα δεδομένα και οι υπολογισμοί έχουν εκτελεστεί.
Το MapReduce σχεδιάστηκε ως γενικό μοντέλο προγραμματισμού. Ορισμένες από τις αρχικές εφαρμογές παρείχαν όλες τις βασικές απαιτήσεις για παράλληλη εκτέλεση, ανοχή σφάλματος, εξισορρόπηση φορτίου και χειρισμό δεδομένων. Οι μηχανικοί που είναι υπεύθυνοι για το έργο, ονόμασαν την πρωτοβουλία MapReduce επειδή συνδυάζουν δύο δυνατότητες από τις υπάρχουσες λειτουργικές γλώσσες υπολογιστών: map και μειώνουν .
Οι μηχανικοί της Google σχεδίασαν το MapReduce για να λύσουν ένα συγκεκριμένο πρακτικό πρόβλημα. Ως εκ τούτου, σχεδιάστηκε ως πρότυπο προγραμματισμού σε συνδυασμό με την εφαρμογή αυτού του μοντέλου - ουσιαστικά, μια εφαρμογή αναφοράς.
Η εφαρμογή αναφοράς χρησιμοποιήθηκε για να αποδείξει την πρακτικότητα και την αποτελεσματικότητα της έννοιας και να βοηθήσει να διασφαλιστεί ότι αυτό το μοντέλο θα υιοθετηθεί ευρέως από τη βιομηχανία υπολογιστών. Με την πάροδο των ετών, έχουν υλοποιηθεί και άλλες εφαρμογές του MapReduce και είναι διαθέσιμες τόσο ως ανοιχτού κώδικα όσο και ως εμπορικά προϊόντα.