Μελέτη σύγχρονων προκλήσεων στο πεδίο του batch processing και σχεδιασμός με ανάπτυξη εφαρμογής data migration για μεγάλο ηλεκτρονικό κατάστημα - Σκιαδά, Ευγενία (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής, 2017)
Αντικείμενο της παρούσας διπλωματικής αποτελεί σε πρώτο στάδιο η περιγραφή των σύγχρονων προκλήσεων στο πεδίο των Βάσεων Δεδομένων ενώ σε δεύτερο στάδιο υλοποιείται μια Batch εφαρμογή για μεταφορά μεγάλου όγκου δεδομένων μεταξύ δύο σχεσιακών βάσεων, διαδικασία που απαντάται συχνά στα σύγχρονα επιχειρησιακά περιβάλλοντα και αποτελεί πρόκληση λόγω του όγκου και της σημαντικότητας των δεδομένων για κάθε επιχείρηση. Στο σημερινό τοπίο ολοένα και περισσότερες ανθρώπινες δραστηριότητες πραγματοποιούνται μέσω διαδικτύου (ηλεκτρονικό εμπόριο, ηλεκτρονικές δημόσιες υπηρεσίες κλπ), ενώ η εισβολή των κοινωνικών δικτύων σηματοδοτεί την πρόσβαση σε μια νέα εποχή οπού κάθε άτομο διατηρεί μια επιπλέον «online ζωή και προσωπικότητα». Είναι λοιπόν αντιληπτό, ότι σε αυτό το διαμορφούμενο πλαίσιο ζωής παράγονται καθημερινά τεράστιοι όγκοι δεδομένων, οι οποίοι γεννούν αυξανόμενες προκλήσεις όσον αφορά στον τρόπο διαχείρισης, μεταφοράς και αποθήκευσης τους, δεδομένου ότι μετά την ολοκλήρωση οποιασδήποτε ενέργειας, τα δεδομένα πρέπει να παραμένουν πλήρη και σε συνεπή κατάσταση.Ειδικότερα, η μεταφορά μεγάλου όγκου δεδομένων μεταξύ δυο σχεσιακών βάσεων είναι μια επιχειρησιακή ανάγκη η οποία προκύπτει συχνά, για λόγους συντήρησης ή αναβάθμισης των υποδομών, αλλαγής τεχνολογίας κλπ, και παρουσιάζει δυσκολίες και προκλήσεις που αφορούν την ταχύτητα επεξεργασίας, την διατήρηση της ορθότητας των δεδομένων, των μεταξύ τους εξαρτήσεων ακόμα και την διαχείριση απρόοπτων διακοπών της διαδικασίας. H εφαρμογή που υλοποιήθηκε στα πλαίσια της εργασίας αυτής, προέκυψε από πραγματική επιχειρησιακή απαίτηση που αφορούσε την μεταφορά της βάσης δεδομένων ενός διαδικτυακού βιβλιοπωλείου, από MySQL σύστημα διαχείρισης σε Oracle. Η εφαρμογή είναι γραμμένη σε Java και για την εξαγωγή, επεξεργασία και εγγραφή των δεδομένων κατά δεσμίδες χρησιμοποιεί το περιβάλλον Spring Batch.Περιλαμβάνει ροές εξαγωγής δεδομένων από βάση αλλά και από αρχεία, καθώς είναι σύνηθες κάποιοι πίνακες των επιχειρησιακών βάσεων να ενημερώνονται με δεδομένα που αντλούν από αρχεία. Επιπλέον περιλαμβάνει μια γραφική διεπαφή χρήστη βασισμένη στο Spring MVC περιβάλλον ώστε να μπορούν οι εμπορικοί χρήστες να παραμετροποιούν τις εργασίες, να ελέγχουν τη διαδικασία και να ενημερώνονται για λάθη και τυχόν αποτυχίες καθώς, όπως όλες οι batch διαδικασίες, οι εργασίες τρέχουν στο παρασκήνιο χωρίς παρέμβαση χρήστη. Για την έγκαιρη ενημέρωση των διαχειριστών κατά το σενάριο αποτυχίας έχει υλοποιηθεί και μηχανισμός αποστολής email μόλις κάποια εργασία αποτύχει. Για το σενάριο αυτό υλοποιείται και μηχανισμός επαναλήψεων της εργασίας από το σημείο στο οποίο διακόπηκε, ώστε να μη χρειαστεί να επαναληφθεί από την αρχή κάτι που θα είχε μεγάλο χρονικό κόστος. Τέλος, για τη αυτού ακριβώς του κόστους, δίνεται η επιλογή να τρέξει παράλληλα η διαδικασία με χρήση partitioning και παρατίθεται σύγκριση χρόνου της σειριακής και της παράλληλης εκτέλεσης.