ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ

Σχετικά έγγραφα
Σύγκριση Αλγορίθµων για Λειτουργίες Επαυξητικής Εξαγωγής εδοµένων από RDBMS και Υλοποίηση Αλγορίθµων Μετασχηµατισµών εδοµένων

Περίληψη ιπλωµατικής Εργασίας

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Το εσωτερικό ενός Σ Β

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Επεξεργασία Ερωτήσεων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

ΠΕΡΙΛΗΨΗ Vcommunity V Community

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Εφαρµογή EXTRA. ιαδικασία εξαγωγής της Μηχανογραφικής. έκδοσης ισοζυγίου στην εφαρµογή Extra Λογιστική ιαχείριση.

Επιµέλεια Θοδωρής Πιερράτος

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

ΘΕΑΝΩ ΕΡΙΦΥΛΗ ΜΟΣΧΟΝΑ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ

Εισαγωγή στις Βάσεις εδοµένων και την Access

Το Ηλεκτρονικό Ταχυδροµείο ( ) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο

Linear Hashing. Linear vs other Hashing

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Outlook Express-User Instructions.doc 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video

Οι πράξεις που χρειάζονται για την επίλυση αυτών των προβληµάτων (αφού είναι απλές) µπορούν να τεθούν σε µια σειρά και πάρουν µια αλγοριθµική µορφή.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΙ ΠΑΤΡΑΣ ΤΕΙ ΠΑΤΡΑΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT

ζωγραφίζοντας µε τον υπολογιστή

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

Προγραµµατιστικές Τεχνικές

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Οδηγίες Ηλεκτρονικής Υποβολής Προτάσεων

ΜΕΛΕΤΗ ΣΥΝΑΡΤΗΣΗΣ. Άρτια και περιττή συνάρτηση. Παράδειγµα: Η f ( x) Παράδειγµα: Η. x R και. Αλγεβρα Β Λυκείου Πετσιάς Φ.- Κάτσιος.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

MEGASOFT ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ. Οδηγός Ρυθµίσεων Συγχρονισµού PrismaWin Pos Sync

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Η Περιοχή Εργασίας του Flash

Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο υαδική Αφαίρεση. υαδική Αφαίρεση (συν.) Ακόµη ένα παράδειγµα Αφαίρεσης.

Πληροφορική 2. Δομές δεδομένων και αρχείων

P (A) = 1/2, P (B) = 1/2, P (C) = 1/9

Εγχειρίδιο χρήσης του λογισµικού «Ταξινοµούµε»

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Σύντοµες οδηγίες χρήσης atube Catcher

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ

Ηλεκτρονικό Πρωτόκολλο Σχολικής Μονάδας. Αλεξανδρίδης Αλέξανδρος Εκπαιδευτικός Π.Ε.02 Περίληψη

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Σύστηµα Αρχείων και Καταλόγων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Κεφάλαιο 3 : εδοµένα. Πίνακες Στοίβα Ουρά Αναζήτηση Ταξινόµηση. Προγράµµατα

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Υπολογιστικό Πρόβληµα

squared error, Mean absolute error, Root mean squared error) µεγάλωσαν,

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ώστε επιλογή: Στη συνέχεια θα διαβάζει την επιλογή του χρήστη και την ακτίνα ενός κύκλου και θα εκτυπώνει το αντίστοιχο αποτέλεσµα.

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Η ακρίβεια ορίζεται σαν το πηλίκο των ευρεθέντων συναφών εγγράφων προς τα ευρεθέντα έγγραφα. Άρα για τα τρία συστήµατα έχουµε τις εξής τιµές:

Εισαγωγή και επεξεργασία δεδοµένων

Εγχειρίδιο χρήσης για τον φοιτητή

Εφαρµογές πλοήγησης για φορητές συσκευές µε τη χρήση Web Services

Α. ΣΥΓΚΡΙΣΗ ΚΛΑΣΜΑΤΩΝ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8

Κύµα µε αρχική φάση. αυτή είναι και η µόνη περίπτωση που περιγράφει το σχολικό βιβλίο και συνεπώς η πλειοψηφία των περιπτώσεων που µελετάµε. max.

ΓΕΦΥΡΑ ΣΥΝ ΕΣΗΣ ΓΕΝΙΚΗΣ ΛΟΓΙΣΤΙΚΗΣ ΜΕ ΕΜΠΟΡΙΚΗ ΙΑΧΕΙΡΙΣΗ

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

Αλγόριθµοι και Πολυπλοκότητα

2. Δυναμικό και χωρητικότητα αγωγού.

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΙΕΥΘΥΝΣΗ ΛΙΜΕΝΙΚΩΝ ΥΠΟ ΟΜΩΝ

4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών

ΚΑΘΗΓΗΤΗΣ: Α.Γ. ΜΑΜΑΛΗΣ ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ:.Ε. ΜΑΝΩΛΑΚΟΣ

Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων

MEΤΑΣΧΗΜΑΤΙΣΜΟΙ ΤΗΣ ΜΟΡΦΗΣ Y= g( X1, X2,..., Xn)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

Πανεπιστήµιο Θεσσαλίας

Εισαγωγή στην πληροφορική

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Τεχνική Σχεδίαση

Πρακτική µε στοιχεία στατιστικής ανάλυσης

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων για Λειτουργίες Επαυξητικής Εξαγωγής εδοµένων από RDBMS και Υλοποίηση Αλγορίθµων Μετασχηµατισµών εδοµένων Ζήσιµος Αντώνης ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: Τίµος Σελλής ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΓΝΩΣΕΩΝ ΚΑΙ Ε ΟΜΕΝΩΝ

2

Περίληψη ιπλωµατικής Εργασίας Η παρούσα διπλωµατική εργασία εντάσσεται στο γενικότερο γνωστικό αντικείµενο των αποθηκών δεδοµένων. Η ολοένα και µεγαλύτερη αυτοµατοποίηση των υπηρεσιών των µεγάλων οργανισµών, έχει φέρει τα συστήµατα διαχείρισης δοσοληψιών ολοένα και πιο κοντά σε κάθε πτυχή της καθηµερινής ζωής των ανθρώπων στις αναπτυγµένες χώρες. Συνέπεια του φαινοµένου είναι η διατήρηση ενός τεράστιου όγκου δεδοµένων, από τον οποίο µπορεί κανείς να αντλήσει πολύτιµες πληροφορίες κάνοντας την ανάλογη επεξεργασία. Η επεξεργασία αυτού του όγκου αποτελεί και τον σκοπό των αποθηκών δεδοµένων. Βασικός όµως κανόνας, ώστε να έχουµε αξιόπιστα και σωστά συµπεράσµατα, είναι να έχουµε και ενηµερωµένα και ορθά στοιχεία στην αποθήκη µας. Η ενηµέρωση των δεδοµένων στην αποθήκη ονοµάζεται γενικά ETL. Το αγγλικό ακρωνύµιο ETL, που έχει επικρατήσει, αναλύεται στις λέξεις εξαγωγή, µετασχηµατισµός και ενηµέρωση, τις πράξεις δηλαδή που πρέπει να υποστούν τα δεδοµένα, ώστε να έχουµε ποιοτικά και σωστά στοιχεία σε µια αποθήκη δεδοµένων. Στο σηµείο αυτό εντοπίζεται και το αντικείµενο της διπλωµατικής αυτής. Μετά την απαραίτητη έρευνα και σύµφωνα µε τα στοιχεία που υπάρχουν στην διεθνή βιβλιογραφία, παρουσιάζει αναλυτικά τους πιθανούς ETL αλγορίθµους. ηλαδή, τις µεθόδους εξαγωγής των κατάλληλων στοιχείων από ετερογενείς πηγές πληροφοριών, τους µετασχηµατισµούς που πρέπει να υποστούν τα δεδοµένα, ώστε να ταιριάξουν µε το διαφορετικό µοντέλο δεδοµένων της αποθήκης και να καθαριστούν, ώστε να έχουµε πιο αξιόπιστα αποτελέσµατα, αλλά και κάποιες βασικές αρχές, ώστε να γίνει µια µαζική και γρήγορη µεταφορά των επεξεργασµένων δεδοµένων στην αποθήκη. Η εξαγωγή των δεδοµένων θα πρέπει να είναι επαυξητική, ώστε να µην µετακινείται κάθε φορά ολόκληρος ο όγκος της πηγής πληροφοριών στην αποθήκη δεδοµένων. Οι επικρατέστερες τεχνικές είναι τρεις. Οι δύο πρώτες µπορούν να χρησιµοποιηθούν µόνο όταν οι πηγές είναι σύγχρονα συστήµατα διαχείρισης δοσοληψιών (OLTP), οπότε και παρέχουν µηχανισµούς ηµερολογίου (logging) και triggers. Το ηµερολόγιο κρατείται για λόγους ανάνηψης από λάθη υλικού και σε αυτό καταγράφονται όλες οι δοσοληψίες, οπότε και µπορούµε να αποσπάµε από αυτό και τα δεδοµένα που µεταβλήθηκαν στην βάση µετά από κάποια ηµεροµηνία. Οι triggers είναι συναρτήσεις στην βάση, που εκτελούνται πριν ή µετά την εκτέλεση µιας πράξης (INSERT/UPDATE/DELETE). Με τη βοήθειά τους µπορούµε να κρατάµε επιπλέον πίνακες, στους οποίους θα αποθηκεύονται µόνο οι αλλαγές κατά την διάρκεια ενός χρονικού διαστήµατος. Έτσι στο τέλος, εξάγοντας µόνο αυτούς του πίνακες θα έχουµε τις αλλαγές. Τέλος, υπάρχει και η, ανεξάρτητη από συστήµατα διαχείρισης δοσοληψιών, τεχνική των στιγµιότυπων. Παίρνουµε ένα στιγµιότυπο της βάσης στην αρχή και ένα στο τέλος του χρονικού διαστήµατος που επιθυµούµε, κάνουµε την σύγκριση και 3

βρίσκουµε τις αλλαγές. Η τελευταία προτιµήθηκε λόγω της ανεξαρτησίας της από συστήµατα διαχείρισης δοσοληψιών. Ακόµα και η πιο πρωτόγονη πηγή πληροφοριών θα έχει την δυνατότητα παραγωγής ενός αρχείου, στο οποίο θα περιέχεται όλη η πληροφορία που διαθέτει την δεδοµένη χρονική στιγµή. Για την τεχνική του στιγµιότυπου έχουν αναπτυχθεί δύο κύριες κατηγορίες, η τεχνική της συµπίεσης και η τεχνική του παραθύρου. Ο αλγόριθµος µε την τεχνική της συµπίεσης στηρίζεται στην ταξινόµηση των εγγραφών και στην σύγκριση τους µε βάση το πρωτεύον κλειδί και τα δεδοµένα τους. Στην αρχή έχουµε δύο στιγµιότυπα της βάσης µας. Ουσιαστικά πρόκειται για αρχεία που περιέχουν τους πίνακες της βάσης και τις εγγραφές τους. Για κάθε πίνακα που υπάρχει στα αρχεία αυτά πραγµατοποιούµε µια ταξινόµηση µε βάση το πρωτεύον του κλειδί. Έπειτα πηγαίνουµε και συγκρίνουµε εγγραφή προς εγγραφή. Λόγω της ταξινόµησης θα µπορούµε εύκολα να βρούµε τις αλλαγές στους πίνακες. Εάν βρούµε ένα κλειδί στον νεώτερο χρονικά πίνακα που δεν υπάρχει στον παλαιό σηµαίνει πως έγινε κάποια εισαγωγή εγγραφής, ενώ στην αντίθετη περίπτωση που το κλειδί υπάρχει µόνο στον παλαιό πίνακα, θα έγινε κάποια διαγραφή. Στην περίπτωση που βρίσκουµε δύο ίσα κλειδιά, τότε θα πρέπει να ελέγξουµε και τα υπόλοιπα δεδοµένα, ώστε να βρούµε εάν υπάρχει κάποια ανανέωση στα υπόλοιπα πεδία της εγγραφής. Ο αλγόριθµος αυτός είναι απλός και µπορεί να βελτιωθεί αρκετά. Μια πρώτη βελτίωση µπορεί να γίνει στην αρχική ταξινόµηση των εγγραφών, µε την εφαρµογή µιας γρήγορης µεθόδου µε ικανότητες ταξινόµησης εκτός µνήµης (external sorting), ώστε να µπορεί να αντεπεξέλθει και σε καταστάσεις όπου η φυσική µνήµη δεν είναι αρκετή. Μια δεύτερη βελτίωση που θα βοηθούσε είναι η µείωση του µεγέθους της επεξεργαζόµενης πληροφορίας, µε την χρησιµοποίηση κάποιας κωδικοποίησης. Στο στάδιο της σύγκρισης των εγγραφών δεν χρειαζόµαστε κάθε φορά όλα τα στοιχεία, αλλά µόνο τα πρωτεύων κλειδιά. Με µια προσεκτικότερη µατιά στον αλγόριθµο βλέπουµε πως κάθε στιγµή πρέπει να ξέρουµε και να συγκρίνουµε τα κλειδιά των εγγραφών και σε περίπτωση που είναι ίσα, να συγκρίνουµε και τα δεδοµένα τους. Εάν κωδικοποιήσουµε τα υπόλοιπα πεδία εκτός των κλειδιών σε µια συµπιεσµένη µορφή, µπορούµε να µειώσουµε το µέγεθος της φυσικής µνήµης που απαιτείται για την σύγκριση. Υπάρχουν δύο προσεγγίσεις. Στην πρώτη διατηρούµε το παλιό στιγµιότυπο σε συµπιεσµένη µορφή και το καινούργιο σε ασυµπίεστη. Κάνουµε την ταξινόµηση και συγκρίνουµε τα κλειδιά των εγγραφών, όπως εξηγήσαµε. Σε κάθε περίπτωση (INSERT/UPDATE/DELETE), δεν µας χρειάζονται τα δεδοµένα των υπόλοιπων πεδίων του παλιού στιγµιότυπου. Στην δεύτερη προσέγγιση, συµπιέζουµε και τα δύο στιγµιότυπα από την αρχή. Η αναζήτηση των δεδοµένων στα υπόλοιπα πεδία θα χρειαστεί µόνο στην περίπτωση που θα έχουµε κάποιο INSERT/UPDATE, αφού στο DELETE χρειαζόµαστε να αναφέρουµε µόνο το κλειδί. Με τον τρόπο αυτό κερδίζουµε σε χώρο στην φυσική µνήµη, µειώνοντας τον όγκο του νέου στιγµιότυπου που ταξινοµούµε, αλλά αυξάνουµε τις προσπελάσεις στον σκληρό δίσκο, που είναι ως επί το πλείστον πολύ πιο αργές σε σχέση µε 4

αυτές της φυσικής µνήµης. Λαµβάνοντας υπόψη ότι συνήθως οι αλλαγές είναι ένα µικρό ποσοστό του συνόλου των εγγραφών, τότε έχουµε πραγµατοποιήσει µια αρκετά καλή βελτιστοποίηση του αλγορίθµου. Η µέθοδος µε τον αλγόριθµο του παραθύρου βασίζεται στην βελτίωση από την άποψη των µειωµένων προσπελάσεων στον δίσκο, οι οποίες είναι και ιδιαίτερα χρονοβόρες. Οι διάφοροι αλγόριθµοι σύγκρισης στιγµιότυπων, εάν δεν εντοπίσουν όλες τις αλλαγές, εµφανίζουν useless DELETE-INSERT και INSERT-DELETE ζευγάρια. Τα πρώτα αποτελούν περίπτωση ίδιων πλειάδων και στα δύο στιγµιότυπα για τα οποία ο αλγόριθµος έβγαλε πρώτα ένα delete και µετά ένα INSERT και τα δεύτερα είναι ζευγάρια για τα οποία προκύπτουν INSERT ακολουθούµενα από DELETE. Και τα δύο εισάγουν περιττή πληροφορία στα δεδοµένα που θα εξάγουµε, αλλά ιδίως τα δεύτερα θα δηµιουργήσουν προβλήµατα ασφαλείας, καθώς ένα INSERT για κάτι που ήδη υπάρχει θα αγνοηθεί, ενώ το DELETE θα το διαγράψει. Για να γλιτώσουµε από τέτοιες καταστάσεις στέλνουµε πρώτα τα DELETE και µετά τα INSERT στην αποθήκη µας. Ο αλγόριθµος αυτός θεωρεί ότι δύο ίδιες πλειάδες στα δύο στιγµιότυπα θα βρίσκονται αν όχι στην ίδια ακριβώς θέση, τουλάχιστον σε κάποια θέση κοντά. Η µετατόπιση µπορεί να συµβεί από το σύστηµα διαχείρισης για καλύτερη ίσως εκµετάλλευση του αποθηκευτικού χώρου. Εποµένως, δεν είναι αναγκαίο για κάθε πλειάδα να ελέγξουµε ολόκληρο το άλλο στιγµιότυπο, αρκεί να κοιτάξουµε σε µια συγκεκριµένη περιοχή του, δηλαδή σε κάποιο παράθυρο. Οπότε, διαβάζουµε ένα κοµµάτι (input buffer) από κάθε στιγµιότυπο, τα συγκρίνουµε και διαγράφουµε τις όµοιες εγγραφές. Τις υπόλοιπες τις κρατάµε σε δύο ειδικές δοµές στην µνήµη (aging buffer), µια για κάθε αρχείο. Στην επόµενη σύγκριση θα συµπεριληφθούν και αυτές. Η διαδικασία αυτή συνεχίζεται µέχρι να επεξεργαστούµε όλες τις εγγραφές και των δύο στιγµιότυπων. Κατά την διαδικασία αυτή βρίσκουµε όλα τα UPDATE που ίσως υπάρχουν. Στο τέλος, όσες εγγραφές έχουν µείνει στις ειδικές δοµές της µνήµης θα είναι ή INSERT ή DELETE ανάλογα µε το στιγµιότυπο προέλευσης τους. Στην ουσία εκµεταλλευόµαστε την ιδιότητα του συστήµατος να µην µετακινεί δεδοµένα κατά τις ανακατατάξεις πολύ µακριά από την αρχική θέση τους και συγκεκριµένα εκτός διαφορετικής φυσικής υποµονάδας (block). Στην συνέχεια η διπλωµατική, µετά την θεωρητική περιγραφή διαδικασιών ETL, προσπαθεί να παρουσιάσει ένα σύνολο συναρτήσεων, ενοποιηµένο σε µια βιβλιοθήκη, που θα µπορεί να χρησιµοποιηθεί σαν ένας πυρήνας αλγορίθµων ETL. Σαν αποτέλεσµα, λοιπόν, έχουµε µια υλοποίηση της βιβλιοθήκης σε γλώσσα προγραµµατισµού C, χρησιµοποιώντας την πρότυπη βιβλιοθήκη της C (Standard C Library), οπότε και είναι συµβατή µε κάθε λειτουργικό σύστηµα που έχει τους ανάλογους µεταγλωττιστές και βιβλιοθήκες. Στην βιβλιοθήκη περιλαµβάνονται µέθοδοι επαυξητικής εξαγωγής δεδοµένων από συστήµατα διαχείρισης δοσοληψιών και µέθοδοι µετασχηµατισµού των δεδοµένων, οι οποίοι είναι απαραίτητοι, εάν θέλουµε να έχουµε ποιοτικά και σωστά δεδοµένα στην αποθήκη µας. Η συγκεκριµένη 5

υλοποίηση µας δίνει την ευκαιρία να διεξάγουµε µια σειρά πειραµάτων και µετρήσεων, ώστε να αποφανθούµε για την απόδοση των διαφορετικών αλγόριθµων επαυξητικής εξαγωγής που υλοποιήσαµε. Πιο συγκεκριµένα διαφοροποιήσαµε τις µετρήσεις σε 3 µέρη. Στο πρώτο µέρος µετρήσεων συγκρίναµε τα 4 είδη αλγορίθµων µε συµπίεση που υλοποιήσαµε. Στο δεύτερο µέρος συγκρίναµε τον αλγόριθµο µε παράθυρο για διάφορες τιµές των input και aging buffer του. Στο τρίτο µέρος πήραµε τους δύο καλύτερους από τα δύο προηγούµενα µέρη και κάναµε αναλυτικές µετρήσεις συγκρίνοντας τους τελικούς χρόνους και το ποσοστό επιτυχίας. Τα συµπεράσµατα που προέκυψαν είναι αρκετά ενδιαφέροντα. Στην περίπτωση που διαθέτουµε ισχυρό σύστηµα µε αφθονία φυσικής µνήµης σε σχέση µε τα δεδοµένα που έχουµε να επεξεργαστούµε, συστήνεται η χρησιµοποίηση αλγόριθµου µε συµπίεση. Οι δύο πιο γρήγοροι αλγόριθµοι δεν παρουσιάζουν µεγάλες διαφορές στην συµπεριφορά τους. ιαφοροποιούνται µόνο όταν φτάνει το σύστηµα στα όριά του, δηλαδή µε στιγµιότυπα που προσεγγίζουν την φυσική µνήµη σε µέγεθος. Στην περίπτωση που δεν διαθέτουµε αφθονία µνήµης σε σχέση µε τα στιγµιότυπα έχουµε να διαλέξουµε ανάµεσα σε δύο αλγορίθµους παραθύρου. Η τελική επιλογή θα προκύψει µετά από ανάλυση των στοιχείων µας και την εύρεση της µέγιστης µετατόπισης των εγγραφών από το ένα στιγµιότυπο στο άλλο. Έχουµε την επιλογή να διαλέξουµε µεταξύ ενός γρήγορου αλγόριθµου που βγάζει και λανθασµένα αποτελέσµατα, οπότε χρειάζεται και ένα επιπλέον καθαρισµό και ενός αργού αλγόριθµου που παράγει µόνο σωστά αποτελέσµατα. 6