Αναλυτικές τεχνικές πραγματικού χρόνου με την Kappa αρχιτεκτονική
Real-time analytical techniques with Kappa architecture
Μεταπτυχιακή διπλωματική εργασία
Author
Ασπρουλόπουλος, Γεώργιος
Date
2025-02Advisor
Ταμπακάς, ΒασίλειοςAbstract
Το αντικείμενο της διπλωματικής εργασίας αφορά την ανάλυση τεχνικών επεξεργασίας δεδομένων σε πραγματικό χρόνο, με έμφαση στην αρχιτεκτονική Kappa. Ξεκινώντας παρουσιάζονται οι έννοιες των BigData, τα χαρακτηριστικά τους και τις προκλήσεις που συνοδεύουν την διαχείρισή τους. Στην συνέχεια, γίνεται σύγκριση μεταξύ της αρχιτεκτονικής Lamda και Kappa, με την πρώτη να προσφέρει επεξεργασία δεδομένων τόσο σε πραγματικό χρόνο όσο και σε batch μορφή, αλλά με βασικό μειονέκτημα της την αυξημένη πολυπλοκότητα. Αντίθετα, η Kappa αρχιτεκτονική βασίζεται αποκλειστικά στο stream processing, παρέχοντας απλοποιημένη διαχείριση και μειωμένο κόστος συντήρησης.
Η εργασία αναλύει τεχνολογίες όπως το Apache Kafka, το Apache Storm, το Apache Flink και το Apache Spark. Συγκεκριμένα, το Apache Kafka, λειτουργεί ως κατανεμημένο σύστημα ανταλλαγής μηνυμάτων, το Apache Storm είναι ένα ισχυρό σύστημα επεξεργασίας ροών δεδομένων, το οποίο προσφέρει χαμηλή καθυστέρηση, το Apache Flink, υποστηρίζει event-time processing, επεξεργασία την στιγμή που συνέβη το γεγονός, και το Apache Spark, που επιτρέπει real-time ανάλυση μέσω micro-batching.
Τέλος, παρουσιάζεται μια υλοποίηση με τη χρήση του Apache Kafka και του Apache Spark, με πρακτικό παράδειγμα εφαρμογής της Kappa αρχιτεκτονικής. Στόχος της διπλωματικής είναι η διερεύνηση των δυνατοτήτων και των περιορισμών της Kappa, καθώς και η παρουσίαση των πλεονεκτημάτων που προσφέρει στην ανάλυση δεδομένων σε πραγματικό χρόνο.
Abstract
The subject of this thesis is the analysis of real-time data processing techniques, with emphasis on the Kappa architecture. To begin, the concepts of BigData, their characteristics and the challenges that accompany their management are presented. At
then a comparison is made between the Lamda and Kappa architectures, with the former offering both real-time and batch data processing, but with its main drawback being increased complexity. In contrast, the Kappa architecture is based solely on stream processing, providing simplified management and reduced maintenance costs.
The paper analyses technologies such as Apache Kafka, Apache Storm, Apache Flink and Apache Spark. Specifically, Apache Kafka, works as a distributed messaging system; Apache Storm is a powerful stream processing system, which offers low latency; Apache Flink, supports event-time processing, processing at the moment the event occurred; and Apache Spark, which enables real-time analysis through micro-batching.
Finally, an implementation using Apache Kafka and Apache Spark is presented, with a practical example of implementing the Kappa architecture. The objective of
thesis is to explore the capabilities and limitations of Kappa, and to present the advantages it offers in real-time data analysis.