Μεγάλη μάχη δεδομένων: Επεξεργασία κατά παρτίδες έναντι επεξεργασίας ροής

Προσπαθείτε να κατανοήσετε τα δεδομένα μεγάλου όγκου δεδομένων και δεδομένων, αλλά συγχέονται με την επεξεργασία δεδομένων παρτίδας και την επεξεργασία δεδομένων ροής; Αν ναι, αυτό το blog είναι για εσάς!

Σήμερα οι προγραμματιστές αναλύουν Terabytes και Petabytes δεδομένων στο οικοσύστημα Hadoop. Πολλά σχέδια βασίζονται στην επιτάχυνση αυτής της καινοτομίας. Όλα αυτά τα έργα βασίζονται σε δύο πτυχές. Αυτοί είναι :

  • Επεξεργασία παρτίδας
  • Επεξεργασία ροής

Τι είναι η επεξεργασία παρτίδων;

Η επεξεργασία παρτίδων είναι εκεί όπου η επεξεργασία πραγματοποιείται σε μπλοκ δεδομένων που έχουν ήδη αποθηκευτεί σε μια χρονική περίοδο. Για παράδειγμα, επεξεργασία όλων των συναλλαγών που έχουν εκτελεστεί από μια μεγάλη χρηματοπιστωτική εταιρεία σε μια εβδομάδα. Αυτά τα δεδομένα περιέχουν εκατομμύρια εγγραφές για μια ημέρα που μπορούν να αποθηκευτούν ως αρχείο ή αρχείο κλπ. Αυτό το συγκεκριμένο αρχείο θα υποβληθεί σε επεξεργασία στο τέλος της ημέρας για διάφορες αναλύσεις που επιθυμεί να κάνει. Προφανώς, θα χρειαστεί μεγάλος χρόνος για την επεξεργασία του αρχείου. Αυτό θα είναι αυτό που η Batch Processing είναι :)

Το Hadoop MapReduce είναι το καλύτερο πλαίσιο για την επεξεργασία δεδομένων σε παρτίδες. Η παρακάτω εικόνα σας δίνει λεπτομερή επεξήγηση σχετικά με τον τρόπο επεξεργασίας δεδομένων Hadoop χρησιμοποιώντας το MapReduce.

Επεξεργασία δεδομένων χρησιμοποιώντας το MapReduce

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

Τι είναι η επεξεργασία ροής;

Η επεξεργασία ροής είναι ένα χρυσό κλειδί αν θέλετε τα αποτελέσματα της ανάλυσης να είναι σε πραγματικό χρόνο. Η επεξεργασία του ρεύματος μας επιτρέπει να επεξεργαζόμαστε τα δεδομένα σε πραγματικό χρόνο κατά την άφιξή τους και να εντοπίζουμε γρήγορα τις συνθήκες μέσα σε μικρό χρονικό διάστημα από το σημείο λήψης των δεδομένων. Η επεξεργασία ροής σάς επιτρέπει να τροφοδοτείτε τα δεδομένα σε εργαλεία ανάλυσης μόλις δημιουργηθούν και να αποκτήσετε άμεσα αποτελέσματα ανάλυσης. Υπάρχουν πολλές πλατφόρμες επεξεργασίας ρεύματος ανοιχτού κώδικα όπως Apache Kafka, Apache Flink, Apache Storm, Apache Samza κ.λπ. Θα ήθελα να συστήσω τον WSO2 Stream Processor (WSO2 SP), την πλατφόρμα επεξεργασίας ρεύματος ανοιχτού κώδικα που βοήθησα στην κατασκευή. Το WSO2 SP μπορεί να καταναλώνει δεδομένα από Kafka, αιτήματα HTTP, μεσίτες μηνυμάτων. Μπορείτε να αναζητήσετε ροή δεδομένων χρησιμοποιώντας μια γλώσσα "Streaming SQL". Με μόνο δύο διακομιστές βασικών προϊόντων, μπορεί να προσφέρει υψηλή διαθεσιμότητα και μπορεί να χειριστεί την απόδοση 100K + TPS. Μπορεί να κλιμακώσει έως και εκατομμύρια TPS στην κορυφή του Kafka. Επιπλέον, ο Διαχειριστής Επιχειρηματικών Κανόνων του WSO2 SP σάς επιτρέπει να ορίζετε πρότυπα και να δημιουργείτε επιχειρηματικούς κανόνες από αυτούς για διαφορετικά σενάρια με κοινές απαιτήσεις.

Η επεξεργασία ροής είναι χρήσιμη για εργασίες όπως η ανίχνευση απάτης. Εάν πραγματοποιείτε επεξεργασία δεδομένων ροής δεδομένων μέσω ροής, μπορείτε να ανιχνεύσετε ανωμαλίες που υποδηλώνουν απάτη σε πραγματικό χρόνο και, στη συνέχεια, να διακόψετε τις δόλιες συναλλαγές πριν ολοκληρωθούν.

Η παρακάτω εικόνα σας δίνει μια λεπτομερή εξήγηση για το πώς επεξεργάζονται τα δεδομένα Spark σε πραγματικό χρόνο.

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

Για τις πρόσθετες πληροφορίες σας, το WSO2 εισήγαγε το WSO2 Fraud Detection Solution. Κατασκευάζεται με τη χρήση πλατφόρμας δεδομένων WSO2 Data Analytics, η οποία αποτελείται από δύο αναλυτικά στοιχεία παρτίδων και αναλύσεις πραγματικού χρόνου (επεξεργασία ροής).

Διαφορά μεταξύ επεξεργασίας παρτίδων και επεξεργασίας ροής

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

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

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

Στο τέλος της ημέρας, ένας ισχυρός προγραμματιστής θα θέλει να κατανοήσει και τις δύο ροές εργασίας. Όλα θα καταλήξουν στην περίπτωση χρήσης και πώς η ροή εργασίας θα βοηθήσει στην επίτευξη του επιχειρηματικού στόχου.