1.3. Εξέλιξη της Διαχείρισης Δεδομένων

Εξέλιξη της Διαχείρισης Δεδομένων

Τα πρώτα συστήματα εφαρμογών ηλεκτρονικής τήρησης δεδομένων, που χρησιμοποιήθηκαν (και πιθανόν χρησιμοποιούνται ακόμα) για την αποθήκευση και εκμετάλλευση πληροφοριακών δεδομένων, ήταν οργανωμένα σε ανεξάρτητα και μεμονωμένα αρχεία. Τα συστήματα αυτά αναπαράγουν, ως ένα βαθμό, τη λογική οργάνωσης των πληροφοριών των αντίστοιχων χειρόγραφων συστημάτων και ταυτόχρονα την επεκτείνουν, αξιοποιώντας τις τεράστιες δυνατότητες που παρέχει η τεχνολογία των Υπολογιστών. Ο τρόπος αυτός διαχείρισης, αν και δίνει στον προγραμματιστή την ευελιξία να υλοποιήσει τις μεθόδους επεξεργασίας που αυτός επιθυμεί, ωστόσο δημιουργεί προβλήματα καθώς αυξάνεται ο όγκος των δεδομένων και η πολυπλοκότητα της πληροφορίας.

Χαρακτηριστικό των εφαρμογών αυτών ήταν ότι για να μπορέσουν να επικοινωνήσουν με τα αρχεία, έπρεπε να γνωρίζουν τον ακριβή τρόπο οργάνωσης των δεδομένων μέσα σ’ αυτά. Για να μπορέσει επομένως μια εφαρμογή να διαβάσει τα δεδομένα ενός αρχείου, να εγγράψει νέα δεδομένα, να μεταβάλει ή διαγράψει κάποια από αυτά, πρέπει να περιλαμβάνει στον κώδικά της ένα τμήμα που να περιγράφει με ποια σειρά αποθηκεύονται τα δεδομένα στο αρχείο, πώς αναπαριστώνται, πόσο χώρο καταλαμβάνει το καθένα στο φυσικό μέσο κτλ. Συμπερασματικά θα μπορούσαμε να ισχυριστούμε ότι υπήρχε ανάγκη συμβατότητας της λογικής συγγραφής του κώδικα της εφαρμογής με τον τρόπο οργάνωσης των δεδομένων των αρχείων με τα οποία επικοινωνεί.

 

Διαφήμιση

 

Αυτό το είδος της απευθείας επικοινωνίας της εφαρμογής με τα αρχεία δεδομένων, την οποία εξασφαλίζει ο κώδικας της κάθε εφαρμογής ξεχωριστά, ονομάζεται φυσική διεπαφή (interface) της εφαρμογής με το αρχείο. Έτσι, κάθε εφαρμογή μπορεί να επικοινωνήσει μόνο με τα δικά της αρχεία. Από τα παραπάνω γίνεται φανερό ότι στα συστήματα αυτά οι εφαρμογές είναι σε μεγάλο βαθμό εξαρτημένες από τα δεδομένα (datadependent).

Ας εξετάσουμε συνολικά μια περίπτωση που ξεφεύγει από μια απλή διαχείριση αριθμητικών δεδομένων, όπου υπάρχει η ανάγκη για αποθήκευση και διαχείριση μερικών εκατοντάδων αριθμών, πρόβλημα που μπορεί να υλοποιηθεί εύκολα αποθηκεύοντας τους αριθμούς σε ένα αρχείο του λειτουργικού συστήματος, και υλοποιώντας τις απαραίτητες λειτουργίες υπολογισμών (π.χ., μέσος όρος, ελάχιστη τιμή, μέγιστη τιμή) στη λογική της εφαρμογής.

Θεωρούμε μία περισσότερο πολύπλοκη εφαρμογή που έχει υλοποιηθεί για να υποστηρίξει την οργάνωση μιας ογκώδους ηλεκτρονικής βιβλιοθήκης. Στην βιβλιοθήκη αυτή απαιτείται η αναζήτηση άρθρων ή βιβλίων με βάση το συγγραφέα, τον τίτλο, την ημερομηνία έκδοσης, ενώ ακόμη απαιτείται η αναζήτηση άρθρων με βάση λέξεις κλειδιά (keywords) από όλο το κείμενο.

Ο προγραμματιστής για την ολοκλήρωση της εφαρμογής χρειάζεται να λάβει υπ’ όψη ότι:

  • Το πλήθος των άρθρων ή των βιβλίων θα είναι μεγάλο, με αποτέλεσμα να επιβάλλεται η χρήση αποδοτικών μεθόδων αναζήτησης.
  • Η δομή της πληροφορίας είναι περίπλοκη, αφού ένας συγγραφέας μπορεί να έχει συμβάλλει στη συγγραφή πολλών άρθρων, ενώ στη συγγραφή ενός άρθρου μπορεί να έχουν συμβάλλει πολλοί συγγραφείς.
  • Πρέπει να βρεθεί ένας αποτελεσματικός και αποδοτικός τρόπος αναζήτησης των λέξεων μέσα στο κείμενο. Μεγάλο ρόλο για την επιλογή θα έχει στην περίπτωση αυτή το κόστος της εφαρμογής.
  • Υπάρχει η ανάγκη για εισαγωγή νέων στοιχείων, όπως για παράδειγμα η ενημέρωση των δεδομένων όταν υπάρχει ένα νέο άρθρο που πρέπει να καταχωρισθεί.
  • Αναμένεται ότι πολλοί χρήστες θα χρησιμοποιούν την εφαρμογή ταυτόχρονα, με αποτέλεσμα να απαιτούνται ειδικοί μηχανισμοί προσπέλασης και συγχρονισμού των προσπελάσεων από διαφορετικούς χρήστες.

 

Διαφήμιση

 

Ας εξετάσουμε ποια είναι μερικά από τα βασικά μειονεκτήματα της αποθήκευσης και διαχείρισης των δεδομένων απ’ ευθείας σε αρχεία του λειτουργικού συστήματος.

  • Ο ομάδα προγραμματιστών της εφαρμογής είναι υπεύθυνη για τη σωστή ενημέρωση των αρχείων των δεδομένων, αναλόγως με τις εισαγωγές και διαγραφές που πραγματοποιούνται. Για παράδειγμα, έστω ότι στο αρχείο Α1 αποθηκεύονται τα στοιχεία ενός άρθρου (π.χ. τίτλος, αριθμός σελίδων), ενώ στο αρχείο Α2 αποθηκεύονται τα ονόματα των συγγραφέων κάθε άρθρου. Κατά την εισαγωγή ενός νέου άρθρου θα πρέπει να ενημερωθεί το αρχείο Α1 με τα απαραίτητα στοιχεία, ενώ το αρχείο Α2 θα πρέπει να ενημερωθεί με τα στοιχεία των συγγραφέων του άρθρου. Επίσης, κατά την αναζήτηση στοιχείων θα πρέπει σε πρώτο στάδιο να προσδιορισθούν τα απαιτούμενα αρχεία, ενώ σε δεύτερο στάδιο πρέπει να γίνει προσεκτική ανάγνωση των δεδομένων, συνδυάζοντας κατάλληλα τις πληροφορίες που περιέχουν τα διαφορετικά αρχεία. Η κατάσταση δυσκολεύει όσο αυξάνεται ο αριθμός των αρχείων δεδομένων και όσο αυξάνεται η πολυπλοκότητα των ερωτημάτων.
  • Η δομή του κάθε αρχείου καθορίζεται από την ίδια την εφαρμογή. Αυτό έχει ως αποτέλεσμα να είναι δύσκολη η αλλαγή της δομής ενός αρχείου. Πολλές φορές παρουσιάζεται η ανάγκη να προστεθεί ένα νέο χαρακτηριστικό στα δεδομένα. Για παράδειγμα, μπορεί να απαιτηθεί η προσθήκη στο αρχείο Α1 ενός ακόμη πεδίου που να περιέχει το πλήθος των βιβλιογραφικών αναφορών (citations) που περιέχονται στο άρθρο. Σε μία τέτοια περίπτωση πρέπει αφ’ ενός να μεταβληθεί η δομή του αρχείου Α1, έτσι ώστε να δημιουργηθεί χώρος για το νέο πεδίο, και αφ’ ετέρου να μεταβληθεί η λογική της εφαρμογής ώστε να ληφθεί το νέο πεδίο υπ’ όψη κατά την αναζήτηση, εισαγωγή και διαγραφή δεδομένων. Οι αλλαγές αυτές είναι χρονοβόρες και επικίνδυνες για την ακεραιότητα των αποθηκευμένων δεδομένων.
  • Εφ’ όσον ο τρόπος δημιουργίας των αρχείων καθορίζεται από την εφαρμογή, η μορφοποίηση των αρχείων εξαρτάται από την εκάστοτε γλώσσα προγραμματισμού που χρησιμοποιεί ο προγραμματιστής (όπως C, C++, Java, Visual Basic). Το γεγονός αυτό δημιουργεί δυσκολίες όταν απαιτείται η χρήση των αρχείων από διαφορετικές εφαρμογές ή όταν απαιτείται η κατασκευή των αρχείων από άλλους προγραμματιστές που χρησιμοποιούν διαφορετικές γλώσσες προγραμματισμού σε διαφορετικά λειτουργικά συστήματα (όπως Linux, Windows, MacOS).
  • Σε πολλές περιπτώσεις η εφαρμογή εξυπηρετεί πολλούς χρήστες ταυτόχρονα. Η διασφάλιση της προστασίας και της ακεραιότητας των δεδομένων κατά την ταυτόχρονη αναζήτηση, εισαγωγή και διαγραφή στοιχείων είναι αρκετά περίπλοκη. Επίσης, σε συγκεκριμένες λειτουργίες πρέπει να διασφαλίζεται η ατομικότητα της εκτέλεσης. Με τον όρο «ατομικότητα» εννοούμε ότι ένα σύνολο λειτουργιών είτε θα εκτελεσθεί συνολικά, είτε θα απορριφθεί συνολικά. Χαρακτηριστικό παράδειγμα αποτελεί η ανάληψη χρημάτων από μία τραπεζική αυτόματη ταμειακή μηχανή (ΑΤΜ). Εδώ διακρίνουμε δύο ξεχωριστές λειτουργίες:
    α) ανάληψη ενός ποσού και
    β) ενημέρωση του λογαριασμού με το νέο υπόλοιπο. Αν αποτύχει μία από τις δύο λειτουργίες, τότε θα αποτύχει και το σύνολό τους. Σε διαφορετική περίπτωση θα δημιουργηθεί σοβαρό πρόβλημα ακεραιότητας δεδομένων καθώς τα δεδομένα του συστήματος θα είναι λανθασμένα (π.χ., ενώ έγινε η ανάληψη δεν αφαιρέθηκε το ποσό από το υπόλοιπο του λογαριασμού).
  • Στη γενική περίπτωση, κάθε χρήστης της εφαρμογής έχει διαφορετικά δικαιώματα ως προς την προσπέλαση των δεδομένων. Για παράδειγμα, μία ομάδα χρηστών μπορεί να έχει μόνο δικαιώματα ανάγνωσης των δεδομένων, ενώ μία άλλη ομάδα χρηστών μπορεί να έχει δικαιώματα ανάγνωσης και εισαγωγής νέων δεδομένων αλλά όχι διαγραφής. Η εφαρμογή των κανόνων προστασίας των δεδομένων ώστε να αποφεύγονται δυσάρεστες καταστάσεις απώλειας δεδομένων (είτε κατά λάθος, είτε εσκεμμένα), στηριζόμενοι στα εργαλεία του λειτουργικού συστήματος, επιτυγχάνεται δύσκολα. Επιπλέον, είναι πολύ δύσκολο να ορίσουμε διαφορετικά δικαιώματα μέσα στο ίδιο αρχείο.
  • Εφ’ όσον η λογική της αναζήτησης στοιχείων από τα αρχεία δεδομένων υλοποιείται στον κώδικα της εφαρμογής, οι διαφορετικοί τύποι ερωτημάτων που μπορεί να δεχθεί η εφαρμογή είναι περιορισμένοι και πρέπει να υλοποιηθούν εκ των προτέρων. Αυτό αποτελεί αρκετά δεσμευτικό παράγοντα λαμβάνοντας υπ’ όψη ότι είναι σχεδόν αδύνατο να προβλέψουμε όλα τα δυνατά ερωτήματα που μπορεί να επιθυμεί να θέσει ένας χρήστης. Η υποστήριξη νέων ερωτημάτων απαιτεί αλλαγή στον κώδικα της εφαρμογής, κάτι που γενικά δεν είναι επιθυμητό διότι οδηγεί σε νέες εκδόσεις (versions) του λογισμικού.

 

Διαφήμιση

 

Συνοψίζοντας μπορούμε να πούμε ότι εν γένει τα προβλήματα που ήταν αναπόφευκτο να δημιουργηθούν από την μεθοδολογία και πρακτική της χρήσης αρχείων για την ηλεκτρονική τήρηση δεδομένων είναι τα εξής:

Πλεονασμός των δεδομένων (data redundancy). Υπάρχει η περίπτωση να έχουμε επανάληψη των ίδιων δεδομένων σε αρχεία διαφορετικών εφαρμογών. Για παράδειγμα στο αρχείο των άρθρων και στο αρχείο των συγγραφέων είναι σχεδόν σίγουρο ότι θα υπάρχουν κάποια κοινά στοιχεία.

Ασυνέπεια των δεδομένων (data inconsistency). Αυτό μπορεί να συμβεί όταν υπάρχουν τα ίδια στοιχεία των συγγραφέων (πλεονασμός) και στο αρχείο άρθρων και στο αρχείο συγγραφέων και χρειαστεί να γίνει κάποια αλλαγή στη διεύθυνση ή στα τηλέφωνα κάποιου συγγραφέα, οπότε είναι πολύ πιθανό να γίνει η διόρθωση μόνο στο ένα αρχείο και όχι και στο άλλο.

Αδυναμία μερισμού δεδομένων (data sharing). Μερισμός δεδομένων σημαίνει δυνατότητα για κοινή χρήση των στοιχείων κάποιων αρχείων. Για παράδειγμα, ο μερισμός δεδομένων θα ήταν χρήσιμος αν με την αναζήτηση ενός άρθρου μπορούμε να έχουμε πρόσβαση την ίδια στιγμή στο αρχείο άρθρων για να δούμε τους συγγραφείς και μετά στο αρχείο των συγγραφέων για να ελέγξουμε αν είναι διαθέσιμα και άλλα άρθρα των ίδιων συγγραφέων. Η αδυναμία μερισμού δεδομένων δημιουργεί καθυστέρηση στη λήψη αποφάσεων και στην εξυπηρέτηση των χρηστών.Αδυναμία προτυποποίησης. Έχει να κάνει με την ανομοιομορφία και με την διαφορετική αναπαράσταση και οργάνωση των δεδομένων στα αρχεία των εφαρμογών. Η αδυναμία αυτή δημιουργεί προβλήματα προσαρμογής των χρηστών καθώς και προβλήματα στην ανταλλαγή δεδομένων μεταξύ διαφορετικών συστημάτων.

Αδυναμία προτυποποίησης. Έχει να κάνει με την ανομοιομορφία και με την διαφορετική αναπαράσταση και οργάνωση των δεδομένων στα αρχεία των εφαρμογών. Η αδυναμία αυτή δημιουργεί προβλήματα προσαρμογής των χρηστών καθώς και προβλήματα στην ανταλλαγή δεδομένων μεταξύ διαφορετικών συστημάτων.

 

Διαφήμιση

 

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

  1. Ο ορισμός των δεδομένων είναι ενσωματωμένος στα προγράμματα των εφαρμογών, αντί να αποθηκεύεται κάπου ξεχωριστά και ανεξάρτητα.
  2. Δεν υπάρχει κανένας έλεγχος για την προσπέλαση και τον χειρισμό των δεδομένων, πέρα από αυτόν που επιβάλλεται από τα προγράμματα των εφαρμογών.

Εδώ προκύπτει ένα νέο σημαντικό ερώτημα. Τι περισσότερο χρειαζόμαστε από αυτά που μας προσφέρει ένα σύστημα αρχείων; Τα αποτελέσματα των απαντήσεων εστιάζονται στους εξής άξονες:

  • Απλές και αποδοτικές ερωτήσεις που μπορεί να γίνονται ανάλογα με το θέμα ή πρόβλημα που προκύπτει από την χρήση των δεδομένων.
  • Έλεγχος συγχρονισμού.
  • Γρήγορη ανάκαμψη από κάθε πρόβλημα.
  • Οικειοποίηση από τα οφέλη της μοντελοποίησης.

Για μεγαλύτερη αποτελεσματικότητα επομένως σε αυτό το ταχύτατα αναπτυσσόμενο πεδίο υπήρχε η ανάγκη μια νέας προσέγγισης. Το νέο που προέκυψε σαν φυσική εξέλιξη της διαχείρισης δεδομένων με τα αρχεία, απαντώντας ταυτόχρονα με επιτυχία στους παραπάνω άξονες, ήταν οι Βάσεις Δεδομένων και τα Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) (Database Management Systems (DBMS)).

Μια Βάση Δεδομένων ή ΒΔ θα μπορούσε να χαρακτηριστεί ως ένα σύνολο αρχείων τα οποία διαθέτουν υψηλό βαθμό οργάνωσης και είναι συνδεδεμένα μεταξύ τους με λογικές σχέσεις, ώστε να μπορούν να χρησιμοποιούνται από πολλές εφαρμογές και από πολλούς χρήστες.

Τα αρχεία δε δημιουργούνται πλέον ούτε ενημερώνονται από ανεξάρτητες εφαρμογές λογισμικού αλλά από ένα ξεχωριστό σύστημα προγραμμάτων (λογισμικό). Το σύστημα αυτό μεσολαβεί ανάμεσα στα αρχεία δεδομένων και στις εφαρμογές που χρησιμοποιούν οι χρήστες και λέγεται Σύστημα Διαχείρισης Βάσης Δεδομένων ή ΣΔΒΔ (Database Management System DBMS).

 

Διαφήμιση

 

Το ΣΔΒΔ είναι ένα σύνολο προγραμμάτων και ρουτινών, που σκοπό έχουν το χειρισμό της βάσης, όσον αφορά τη δημιουργία, συντήρηση, επεξεργασία στοιχείων, ελέγχους ασφαλείας κτλ., και την εξυπηρέτηση των χρηστών, όσον αφορά την παροχή στοιχείων και πληροφοριών, χωρίς αυτοί να πρέπει να ασχολούνται με το πώς και το πού τα δεδομένα είναι αποθηκευμένα στη βάση. Θα ασχοληθούμε με μεγαλύτερη λεπτομέρεια στο επόμενο κεφάλαιο με την έννοια του ΣΔΒΔ.

Ένα Σύστημα Βάσης Δεδομένων (ΣΒΔ) ή DBS (Database System) αποτελείται από το υλικό, το λογισμικό, τη βάση δεδομένων και τους χρήστες. Είναι δηλαδή ένα σύστημα με το οποίο μπορούμε να αποθηκεύσουμε και να αξιοποιήσουμε δεδομένα με τη βοήθεια ηλεκτρονικού υπολογιστή. Αναλυτικά :

  • Το υλικό (hardware) αποτελείται όπως είναι γνωστό από τους ηλεκτρονικούς υπολογιστές, τα περιφερειακά, τους σκληρούς δίσκους, τις μαγνητικές ταινίες κ.ά., όπου είναι αποθηκευμένα τα αρχεία της βάσης δεδομένων αλλά και τα προγράμματα που χρησιμοποιούνται για την επεξεργασία τους.
  • Το λογισμικό (software) είναι τα προγράμματα που χρησιμοποιούνται για την επεξεργασία των δεδομένων (στοιχείων) της βάσης δεδομένων.
  • Η βάση δεδομένων (database) αποτελείται από το σύνολο των αρχείων όπου είναι αποθηκευμένα τα δεδομένα του συστήματος. Τα στοιχεία αυτά μπορεί να βρίσκονται αποθηκευμένα σ’ έναν φυσικό υπολογιστή αλλά και σε περισσότερους. Όμως, στον χρήστη δίνεται η εντύπωση ότι βρίσκονται συγκεντρωμένα στον ίδιο υπολογιστή. Τα δεδομένα των αρχείων αυτών είναι ενοποιημένα (data integration), δηλ. δεν υπάρχει πλεονασμός (άσκοπη επανάληψη) δεδομένων και μερισμένα (data sharing), δηλ. υπάρχει δυνατότητα ταυτόχρονης προσπέλασης των δεδομένων από πολλούς χρήστες. Ο κάθε χρήστης έχει διαφορετικά δικαιώματα και βλέπει διαφορετικό κομμάτι της βάσης δεδομένων, ανάλογα με τον σκοπό για τον οποίο συνδέεται.

Οι χρήστες (users) μιας βάσης δεδομένων χωρίζονται στις εξής κατηγορίες:

  • Τελικοί χρήστες (end users). Χρησιμοποιούν κάποια εφαρμογή για να παίρνουν στοιχεία από μια βάση δεδομένων, έχουν τις λιγότερες δυνατότητες επέμβασης στα στοιχεία της βάσης δεδομένων, χρησιμοποιούν ειδικούς κωδικούς πρόσβασης και το σύστημα τούς επιτρέπει ανάλογα πρόσβαση σε συγκεκριμένο κομμάτι της βάσης δεδομένων.
  • Προγραμματιστές εφαρμογών (application programmers). Αναπτύσσουν τις εφαρμογές του ΣΒΔ σε κάποια από τις γνωστές γλώσσες προγραμματισμού.
  • Διαχειριστής δεδομένων (data administrator – DA). Έχει τη διοικητική αρμοδιότητα και ευθύνη για την οργάνωση της βάσης δεδομένων και την απόδοση δικαιωμάτων πρόσβασης στους χρήστες.
  • Διαχειριστής βάσης δεδομένων (database administrator – DBA). Λαμβάνει οδηγίες από τον διαχειριστή δεδομένων και είναι αυτός που διαθέτει τις τεχνικές γνώσεις και αρμοδιότητες για τη σωστή και αποδοτική λειτουργία του ΣΔΒΔ.

 

 

Διαφήμιση
SEE ALL Add a note
YOU
Add your Comment
 
error: Το περιεχόμενο προστατεύεται!!
X