dc.contributor.author | Σκιαδά, Ευγενία | el |
dc.contributor.author | Skiada, Evgenia | en |
dc.date.accessioned | 2017-07-21T10:46:57Z | |
dc.date.available | 2017-07-21T10:46:57Z | |
dc.date.issued | 2017-07-21 | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/45311 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.14658 | |
dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
dc.subject | RDBMS | en |
dc.subject | Batch processing | en |
dc.subject | Java | en |
dc.subject | Spring Batch | en |
dc.subject | Spring MVC | en |
dc.subject | Βάσεις δεδομένων | el |
dc.subject | Γραφική διεπαφή χρήστη | el |
dc.subject | Πληροφορική | el |
dc.title | Μελέτη σύγχρονων προκλήσεων στο πεδίο του batch processing και σχεδιασμός με ανάπτυξη εφαρμογής data migration για μεγάλο ηλεκτρονικό κατάστημα | el |
heal.type | bachelorThesis | |
heal.classification | Επιστήμη υπολογιστών | el |
heal.classificationURI | http://data.seab.gr/concepts/77de68daecd823babbb58edb1c8e14d7106e83bb | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2017-05-22 | |
heal.abstract | Αντικείμενο της παρούσας διπλωματικής αποτελεί σε πρώτο στάδιο η περιγραφή των σύγχρονων προκλήσεων στο πεδίο των Βάσεων Δεδομένων ενώ σε δεύτερο στάδιο υλοποιείται μια Batch εφαρμογή για μεταφορά μεγάλου όγκου δεδομένων μεταξύ δύο σχεσιακών βάσεων, διαδικασία που απαντάται συχνά στα σύγχρονα επιχειρησιακά περιβάλλοντα και αποτελεί πρόκληση λόγω του όγκου και της σημαντικότητας των δεδομένων για κάθε επιχείρηση. Στο σημερινό τοπίο ολοένα και περισσότερες ανθρώπινες δραστηριότητες πραγματοποιούνται μέσω διαδικτύου (ηλεκτρονικό εμπόριο, ηλεκτρονικές δημόσιες υπηρεσίες κλπ), ενώ η εισβολή των κοινωνικών δικτύων σηματοδοτεί την πρόσβαση σε μια νέα εποχή οπού κάθε άτομο διατηρεί μια επιπλέον «online ζωή και προσωπικότητα». Είναι λοιπόν αντιληπτό, ότι σε αυτό το διαμορφούμενο πλαίσιο ζωής παράγονται καθημερινά τεράστιοι όγκοι δεδομένων, οι οποίοι γεννούν αυξανόμενες προκλήσεις όσον αφορά στον τρόπο διαχείρισης, μεταφοράς και αποθήκευσης τους, δεδομένου ότι μετά την ολοκλήρωση οποιασδήποτε ενέργειας, τα δεδομένα πρέπει να παραμένουν πλήρη και σε συνεπή κατάσταση.Ειδικότερα, η μεταφορά μεγάλου όγκου δεδομένων μεταξύ δυο σχεσιακών βάσεων είναι μια επιχειρησιακή ανάγκη η οποία προκύπτει συχνά, για λόγους συντήρησης ή αναβάθμισης των υποδομών, αλλαγής τεχνολογίας κλπ, και παρουσιάζει δυσκολίες και προκλήσεις που αφορούν την ταχύτητα επεξεργασίας, την διατήρηση της ορθότητας των δεδομένων, των μεταξύ τους εξαρτήσεων ακόμα και την διαχείριση απρόοπτων διακοπών της διαδικασίας. H εφαρμογή που υλοποιήθηκε στα πλαίσια της εργασίας αυτής, προέκυψε από πραγματική επιχειρησιακή απαίτηση που αφορούσε την μεταφορά της βάσης δεδομένων ενός διαδικτυακού βιβλιοπωλείου, από MySQL σύστημα διαχείρισης σε Oracle. Η εφαρμογή είναι γραμμένη σε Java και για την εξαγωγή, επεξεργασία και εγγραφή των δεδομένων κατά δεσμίδες χρησιμοποιεί το περιβάλλον Spring Batch.Περιλαμβάνει ροές εξαγωγής δεδομένων από βάση αλλά και από αρχεία, καθώς είναι σύνηθες κάποιοι πίνακες των επιχειρησιακών βάσεων να ενημερώνονται με δεδομένα που αντλούν από αρχεία. Επιπλέον περιλαμβάνει μια γραφική διεπαφή χρήστη βασισμένη στο Spring MVC περιβάλλον ώστε να μπορούν οι εμπορικοί χρήστες να παραμετροποιούν τις εργασίες, να ελέγχουν τη διαδικασία και να ενημερώνονται για λάθη και τυχόν αποτυχίες καθώς, όπως όλες οι batch διαδικασίες, οι εργασίες τρέχουν στο παρασκήνιο χωρίς παρέμβαση χρήστη. Για την έγκαιρη ενημέρωση των διαχειριστών κατά το σενάριο αποτυχίας έχει υλοποιηθεί και μηχανισμός αποστολής email μόλις κάποια εργασία αποτύχει. Για το σενάριο αυτό υλοποιείται και μηχανισμός επαναλήψεων της εργασίας από το σημείο στο οποίο διακόπηκε, ώστε να μη χρειαστεί να επαναληφθεί από την αρχή κάτι που θα είχε μεγάλο χρονικό κόστος. Τέλος, για τη αυτού ακριβώς του κόστους, δίνεται η επιλογή να τρέξει παράλληλα η διαδικασία με χρήση partitioning και παρατίθεται σύγκριση χρόνου της σειριακής και της παράλληλης εκτέλεσης. | el |
heal.abstract | The objective of this Diploma Thesis is, in the first place the description of modern challenges in the field of Databases, and secondly the design and implementation of a Batch application, for the migration of large data sets between two Relational Databases, which is a common business demand and shows several challenges because of the volume and importance of the data for a modern company. Nowadays, more and more human activities are performed via the Internet (e-commerce, electronic public services etc), not to mention our everyday occupation with the various social media platforms. In this context, it is obvious that, large amounts of data are produced in a daily basis, which in turn means augmented challenges concerning the monitoring, migration, storing of such great volumes of Information, in order for that Information to remain consistent. Data Migration for large amounts of data is especially cons idered an important and challenging business need, that occurs whenever a company or organization plans to upgrade or change its infrastructure or move to another technology, which is a frequent case. After the migration is completed data need to be left in a consistent state avoiding any data loss, while the time consumed for the process plays an crucial role. The application developed as part of this Diploma Thesis, responds to a real-business demand, which was the migration of the Relational Database of an online bookstore from the existing MySQL management System to an Oracle Management System. The application is written in Java, and employs Spring Batch Framework for the extracting, transforming and loading of the data, splitted in batches. It includes Jobs for extracting data from the Database as well as from files, for in many modern companies, databases include tables that are populated with information extracted from files. It also offers a Graphical User Interface based in Spring MVC Framework, aimed to help business users configure and monitor the whole process -that runs in the background without human intervention -and get informed for the status of jobs, that is whether they finish succeeding or failing. In order for the users to be immediately informed of a failed job, a mechanism for sending emails on job failure is provided. For this exact job failure scenario, we also implemented skip and retry mechanisms. Finally, aiming to reduce time consumation of the process, we provided alternative parallel execution of the jobs using partitioners, and compared the time consummation results of sequential and parallel execution. | en |
heal.advisorName | Βαρβαρίγου, Θεοδώρα | el |
heal.committeeMemberName | Παπαβασιλείου, Συμεών | el |
heal.committeeMemberName | Λούμος, Βασίλειος | el |
heal.committeeMemberName | Βαρβαρίγος, Εμμανουήλ | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 175 σ. | |
heal.fullTextAvailability | true |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: