Περίληψη:
Ο όγκος των δεδομένων που διακινείται μέσω των ηλεκτρονικών υπολογιστών, αυξάνεται ολοένα και περισσότερο. Τομείς που συσχετίζονται με τους ηλεκτρονικούς υπολογιστές όπως οι τηλεπικοινωνίες και η στατιστική, αλλά και το Διαδίκτυο που μέσω των κοινωνικών δικτύων επιτρέπει πια σε χρήστες να αποθηκεύουν ψηφιακά δεδομένα, επιφέρουν συνεχώς μία αύξηση στον συνολικό όγκο δεδομένων. Η πτυχιακή αυτή εργασία έχει ως σκοπό την δημιουργία μίας βιβλιοθήκης η οποία διαχειρίζεται έναν μεγάλο όγκο δεδομένων. Για να το επιτύχει αυτό, χρησιμοποιεί την εξωτερική μνήμη των υπολογιστών στους οποίους εκτελείται. Η βιβλιοθήκη είναι πλήρως υλοποιημένη σε Java, κάτι που την διαφοροποιεί από τις υπόλοιπες βιβλιοθήκες του ίδιου σκοπού, οι οποίες είναι υλοποιημένες σε C++. Πρακτικά η βιβλιοθήκη παρέχει σε έναν χρήστη δομές δεδομένων οι οποίες κρατάνε αντικείμενα των βασικών τύπων δεδομένων της Java, και η εξωτερική μνήμη χρησιμοποιείται ώστε να αποθηκεύει αυτά τα αντικείμενα. Για την μεγαλύτερη απόδοση της, η βιβλιοθήκη κάνει παράλληλη χρήση των δίσκων ενός υπολογιστή. Συγκεκριμένα οι δομές που παρέχει η βιβλιοθήκη είναι η Στοίβα (Stack), ο Vector, η Ουρά (Queue), η Διπλή Ουρά (Deque), η Λίστα (List), και το Β-Δέντρο(B-tree). Ήταν ενδιαφέρον να δούμε το πώς και το αν μπορεί να γίνει η χρήση εξωτερικής μνήμης για πολλά δεδομένα χρησιμοποιώντας την Java, μιας και είναι μία αρκετά υψηλού επιπέδου γλώσσα, και μέσω της εικονικής της μηχανής η επικοινωνία με το λειτουργικό σύστημα δεν είναι εύκολη. Εν τέλει αυτό ήταν εφικτό, και οι διαδικασίες που ακολουθήθηκαν όπως και οι λεπτομέρειες για τον σχεδιασμό και την υλοποίηση αυτής της βιβλιοθήκης, παρουσιάζονται σε αυτή την εργασία.