ΣΑΕΚ · Τομέας Ραδιολογίας–Ακτινολογίας

Τα είδη βάσεων δεδομένων και η σύγκρισή τους

2.3.Ε. Πληροφορική Υγείας · Απλές συγκρίσεις και παραδείγματα για τα είδη βάσεων δεδομένων.

Υποενότητα 07 / 18 · 20 ενότητες περιεχομένου

1. Τι θα μάθουμε;

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

Ο στόχος μας

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

Ένα απλό παράδειγμα

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

2. Τρεις διαφορετικές ερωτήσεις για μια βάση

Όταν περιγράφουμε μια βάση, μπορεί να μιλάμε για διαφορετικά χαρακτηριστικά της:

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

Μια βάση μπορεί να οργανώνει στοιχεία σε πίνακες και ταυτόχρονα να λειτουργεί στο νέφος. Οι δύο περιγραφές δεν αποκλείουν η μία την άλλη.

Να θυμάστε: άλλο ο τρόπος οργάνωσης, άλλο η εγκατάσταση και άλλο ο σκοπός χρήσης.

3. Η ίδια πληροφορία με διαφορετική οργάνωση

Ο υποθετικός ασθενής P001 έχει δύο εξετάσεις: την E101, μια αξονική, και την E102, μια μαγνητική.

Τέσσερις τρόποι παρουσίασης
ΜοντέλοΠώς οργανώνει το παράδειγμα;
ΙεραρχικόΚάτω από τον ασθενή βρίσκονται οι εξετάσεις του.
ΣχεσιακόΥπάρχει πίνακας ασθενών και πίνακας εξετάσεων, με συνδέσεις.
ΕγγράφωνΈνα οργανωμένο έγγραφο περιέχει τον ασθενή και μια λίστα εξετάσεων ή αναφορές σε αυτές.
ΓράφουΟ ασθενής και οι εξετάσεις είναι σημεία που ενώνονται με σχέσεις.

Η πληροφορία είναι ίδια, αλλά αλλάζει ο τρόπος αποθήκευσης και σύνδεσής της. Η επιλογή εξαρτάται και από το τι θα αναζητούμε.

4. Ιεραρχική βάση: σαν δέντρο φακέλων

Στην ιεραρχική βάση, τα δεδομένα οργανώνονται σαν δέντρο. Ένα ανώτερο στοιχείο έχει κάτω του άλλα στοιχεία. Στο βασικό μοντέλο, κάθε «παιδί» έχει έναν «γονέα».[1]

Ένα απλό παράδειγμα

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

Η οργάνωση είναι εύκολη όταν οι πληροφορίες ταιριάζουν σε σταθερή ιεραρχία. Δυσκολεύει όταν το ίδιο στοιχείο χρειάζεται πολλές διαφορετικές συνδέσεις.

Για παράδειγμα, το ίδιο μηχάνημα χρησιμοποιείται για εξετάσεις πολλών ασθενών και δεν ανήκει αποκλειστικά σε έναν.

5. Δικτυωτή βάση: περισσότερες συνδέσεις

Το δικτυωτό μοντέλο επιτρέπει περισσότερες συνδέσεις ανάμεσα στις εγγραφές από ένα απλό δέντρο.[2]

Ένα απλό παράδειγμα

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

Οι πολλές συνδέσεις δίνουν δυνατότητες, αλλά κάνουν πιο σύνθετη την οργάνωση και τις αλλαγές.

Να ξεχωρίζουμε τους όρους

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

6. Σχεσιακή βάση: πίνακες που συνδέονται

Στη σχεσιακή βάση, τα στοιχεία οργανώνονται σε πίνακες με γραμμές και στήλες. Οι πίνακες συνδέονται με κλειδιά, όπως είδαμε στο προηγούμενο μάθημα.[3]

Ένα μικρό παράδειγμα εξετάσεων
ΕξέτασηΑσθενήςΕίδος
E101P001Αξονική
E102P001Μαγνητική

Ο κωδικός P001 συνδέει και τις δύο εξετάσεις με τη σωστή εγγραφή ασθενούς.

Μπορούμε να ορίζουμε κανόνες, όπως μοναδικούς αριθμούς και υποχρεωτικά πεδία. Οι κανόνες χρειάζονται σωστό σχεδιασμό· δεν εμφανίζονται όλοι αυτόματα επειδή χρησιμοποιούμε πίνακες.

7. Αντικειμενοστραφής βάση: σύνθετα αντικείμενα

Μια αντικειμενοστραφής βάση αποθηκεύει δεδομένα ως αντικείμενα, με χαρακτηριστικά και σχέσεις. Το «αντικείμενο» εδώ είναι μια οργανωμένη δομή που χρησιμοποιεί ένα πρόγραμμα.[2]

Ένα απλό παράδειγμα

Ένα πρόγραμμα περιγράφει μια συσκευή μαζί με τις ιδιότητες και τα εξαρτήματά της. Μια τέτοια βάση μπορεί να διατηρεί αυτή τη σύνθετη οργάνωση.

Στην πράξη, οι κατηγορίες μπορεί να συνδυάζονται. Ένα σύστημα με σχεσιακούς πίνακες μπορεί να αποθηκεύει και έγγραφα με πρόσθετες δυνατότητες.[4]

Κρατάμε: το όνομα μιας κατηγορίας δεν περιγράφει πάντα όλες τις δυνατότητες ενός προϊόντος.

8. Τι σημαίνει NoSQL;

Το NoSQL είναι μια γενική ονομασία για διαφορετικές οικογένειες βάσεων που δεν περιορίζονται στο κλασικό σχεσιακό μοντέλο.[1]

Περιλαμβάνει, μεταξύ άλλων, βάσεις εγγράφων, κλειδιού–τιμής, wide-column και γράφων. Θα τις δούμε στις επόμενες ενότητες.

Ένα απλό παράδειγμα

Σκεφτείτε τον όρο «οχήματα»: περιλαμβάνει πολλά διαφορετικά πράγματα. Παρόμοια, το NoSQL δεν περιγράφει έναν μόνο τρόπο λειτουργίας.

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

9. Βάση εγγράφων: πληροφορίες σε ομάδες

Μια βάση εγγράφων οργανώνει δεδομένα σε έγγραφα με πεδία και λίστες. Το «έγγραφο» δεν σημαίνει απαραίτητα αρχείο Word ή PDF· είναι μια οργανωμένη ομάδα δεδομένων.

Ένα απλό παράδειγμα

Ένα έγγραφο μπορεί να περιέχει τον κωδικό P001 και μια λίστα με τις εξετάσεις E101 και E102. Έτσι τα σχετικά στοιχεία μπορούν να διαβάζονται μαζί.

Οι εξετάσεις μπορούν επίσης να αποθηκεύονται ξεχωριστά και να συνδέονται με αναφορές. Ο σχεδιασμός εξαρτάται από το ποια στοιχεία χρησιμοποιούνται και αλλάζουν μαζί.[5]

Η ευελιξία είναι χρήσιμη, αλλά χρειάζονται κανόνες για να μη δημιουργούνται ασαφείς ή επαναλαμβανόμενες πληροφορίες.

10. Βάση κλειδιού–τιμής: βρίσκω με το κλειδί

Στο μοντέλο κλειδιού–τιμής, κάθε κλειδί οδηγεί σε μια αντίστοιχη τιμή.[6]

Υποθετικές ρυθμίσεις μιας εφαρμογής
ΚλειδίΤιμή
Γλώσσα δοκιμαστικού χρήστηΕλληνικά
Θέμα δοκιμαστικού χρήστηΣκοτεινό
Ένα απλό παράδειγμα

Η εφαρμογή ζητά τη ρύθμιση «θέμα χρήστη» και παίρνει την τιμή «σκοτεινό». Η λογική θυμίζει μια ετικέτα που μας οδηγεί στο περιεχόμενο ενός συρταριού.

Αυτός ο τρόπος είναι χρήσιμος όταν γνωρίζουμε το κλειδί. Πιο σύνθετες αναζητήσεις χρειάζονται κατάλληλες πρόσθετες δυνατότητες ή διαφορετικό σχεδιασμό.

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

11. Wide-column: οργάνωση για συγκεκριμένες αναζητήσεις

Οι βάσεις wide-column οργανώνουν γραμμές και στήλες με διαφορετική λογική από τις σχεσιακές βάσεις. Συχνά ο σχεδιασμός ξεκινά από τις αναζητήσεις που θα γίνονται συχνότερα.[7]

Ένα απλό παράδειγμα

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

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

Προς το παρόν κρατάμε: η οργάνωση προσαρμόζεται σε συγκεκριμένους τρόπους πρόσβασης. Το wide-column δεν είναι ο ίδιος όρος με την αποθήκευση κατά στήλη που θα δούμε παρακάτω.

12. Βάση γράφου: δίνουμε έμφαση στις σχέσεις

Στη βάση γράφου, τα πράγματα που περιγράφουμε γίνονται κόμβοι και οι σχέσεις τους γίνονται συνδέσεις.[8]

Ένα απλό παράδειγμα

Ο ασθενής P001 συνδέεται με την εξέταση E101. Η E101 συνδέεται με το μηχάνημα που την πραγματοποίησε. Έτσι μπορούμε να ακολουθούμε τις σχέσεις από το ένα στοιχείο στο άλλο.

Μπορούμε, για παράδειγμα, να αναζητούμε ποιοι ασθενείς έχουν εξετάσεις που σχετίζονται με ένα συγκεκριμένο μηχάνημα.

Σχέσεις υπάρχουν και στις σχεσιακές βάσεις. Η διαφορά είναι ο τρόπος που αναπαριστώνται και αναζητούνται. Η βάση γράφου δίνει ιδιαίτερη έμφαση στις διαδρομές συνδέσεων.

13. Χρονικές σειρές: μετρήσεις μέσα στον χρόνο

Μια βάση χρονικών σειρών δίνει έμφαση σε δεδομένα που συνοδεύονται από χρόνο, όπως επαναλαμβανόμενες μετρήσεις.[9]

Υποθετικές μετρήσεις θερμοκρασίας χώρου
ΏραΤιμή
10:0020,2 °C
10:0520,5 °C
10:1020,4 °C
Ένα απλό παράδειγμα

Η τεχνική ομάδα θέλει να δει πώς άλλαξε η θερμοκρασία ενός χώρου στη διάρκεια της ημέρας. Ο χρόνος είναι το βασικό στοιχείο της αναζήτησης.

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

14. Καθημερινές καταχωρίσεις και μεγάλες αναλύσεις

Διαφορετικές εργασίες έχουν διαφορετικές απαιτήσεις:

Δύο χρήσεις της ίδιας πληροφορίας
ΕργασίαΤι χρειάζεται;
Καθημερινή συναλλαγή — OLTPΝα κλείσουμε ή να αλλάξουμε ένα συγκεκριμένο ραντεβού.
Ανάλυση — OLAPΝα μετρήσουμε εξετάσεις πολλών ετών ανά μήνα και μέθοδο.

Η αποθήκευση κατά στήλη συγκεντρώνει μαζί τιμές της ίδιας στήλης. Μπορεί να βοηθά αναλύσεις που διαβάζουν λίγα χαρακτηριστικά από πάρα πολλές εγγραφές.[10]

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

15. Κεντρική και κατανεμημένη λειτουργία

Στην κεντρική οργάνωση, η κύρια υπηρεσία δεδομένων βρίσκεται σε κεντρική εγκατάσταση. Στην κατανεμημένη οργάνωση, δεδομένα ή αντίγραφά τους εξυπηρετούνται από περισσότερα συστήματα.

Ένα απλό παράδειγμα

Μια υποδομή μπορεί να έχει κύριο σύστημα και ένα δεύτερο αντίγραφο. Πρέπει να είναι σαφές πότε μια αλλαγή φτάνει και στο δεύτερο σημείο.

Αναπαραγωγή σημαίνει διατήρηση αντιγράφων. Άλλη επιλογή είναι να μοιράζονται διαφορετικά τμήματα των δεδομένων σε διαφορετικούς κόμβους.

Το αντίγραφο λειτουργίας δεν αντικαθιστά αυτόματα το αντίγραφο ασφαλείας. Μια λανθασμένη διαγραφή μπορεί να μεταφερθεί και στα αντίγραφα. Χρειάζεται ξεχωριστή διαδικασία αποκατάστασης.

16. Τοπικά, ενσωματωμένα ή στο νέφος;

Η βάση μπορεί να λειτουργεί:

  • Τοπικά: στον υπολογιστή ή στην υποδομή του οργανισμού.
  • Ενσωματωμένη στην εφαρμογή: χωρίς ξεχωριστή δικτυακή υπηρεσία βάσης.
  • Στο νέφος — cloud: σε υπηρεσία φιλοξενίας με πρόσβαση μέσω δικτύου.
Ένα απλό παράδειγμα

Ένα εκπαιδευτικό εργαλείο με επινοημένα δεδομένα μπορεί να χρησιμοποιεί τοπικά SQLite. Ένα σύστημα πολλών τμημάτων έχει διαφορετικές ανάγκες πρόσβασης και συντονισμού.[12]

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

17. Μπορούν οι αλλαγές να γίνονται όλες μαζί;

Μια συναλλαγή μπορεί να συνδέει πολλές αλλαγές σε μία εργασία, ώστε να ολοκληρώνονται όλες μαζί ή να αναιρούνται αν αποτύχει κάποιο βήμα.

Ένα απλό παράδειγμα

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

Εξετάζουμε τι υποστηρίζει το συγκεκριμένο σύστημα και πώς έχει σχεδιαστεί η εφαρμογή. Δεν θεωρούμε ότι όλες οι NoSQL βάσεις στερούνται συναλλαγών.[13]

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

18. Τα βασικά μοντέλα σε έναν πίνακα

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

Σύντομη σύγκριση
ΜοντέλοΠώς το θυμόμαστε;
ΙεραρχικόΣαν δέντρο με γονείς και παιδιά.
ΔικτυωτόΕγγραφές με περισσότερες καθορισμένες διαδρομές σύνδεσης.
ΣχεσιακόΠίνακες που συνδέονται με κλειδιά.
ΑντικειμενοστραφέςΣύνθετα αντικείμενα με χαρακτηριστικά και σχέσεις.
ΕγγράφωνΟργανωμένα έγγραφα με πεδία και λίστες.
Κλειδιού–τιμήςΈνα κλειδί οδηγεί στην αντίστοιχη τιμή.
Wide-columnΟμάδες γραμμών οργανωμένες για συγκεκριμένες αναζητήσεις.
ΓράφουΚόμβοι και συνδέσεις με έμφαση στις σχέσεις.

Η ευελιξία δεν καταργεί την ανάγκη για κανόνες. Κάθε εφαρμογή χρειάζεται κατάλληλη δομή και ελέγχους.

19. Μπορεί μια μονάδα να συνδυάζει λύσεις;

Μια μονάδα υγείας μπορεί να χρησιμοποιεί περισσότερους τρόπους αποθήκευσης για διαφορετικές εργασίες.

Ένα απλό παράδειγμα

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

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

Όποιος συνδυασμός κι αν επιλεγεί, χρειάζονται σωστή ταυτότητα ασθενούς, σαφής προέλευση, έλεγχοι πρόσβασης και δυνατότητα αποκατάστασης. Τα πρότυπα ανταλλαγής δεν επιβάλλουν μία μόνο εσωτερική βάση.[15]

20. Τι κρατάμε από το μάθημα;

Η βασική ιδέα

Οι βάσεις δεδομένων διαφέρουν στον τρόπο οργάνωσης και λειτουργίας τους. Η επιλογή εξαρτάται από την εργασία που πρέπει να εξυπηρετήσουν.

  • Σχεσιακή: πίνακες και κλειδιά.
  • Εγγράφων: οργανωμένες ομάδες πεδίων και λιστών.
  • Κλειδιού–τιμής: βρίσκουμε περιεχόμενο με ένα κλειδί.
  • Γράφου: ακολουθούμε σχέσεις μεταξύ στοιχείων.
  • Χρονικές σειρές: έμφαση στην εξέλιξη μετρήσεων στον χρόνο.

Ξεχωρίζουμε πάντα πώς οργανώνονται τα στοιχεία, πού λειτουργεί η βάση και ποια εργασία κάνει. Μια βάση μπορεί να έχει πολλές από αυτές τις περιγραφές ταυτόχρονα.

Η σωστή χρήση και οι έλεγχοι είναι απαραίτητα σε κάθε είδος βάσης.

Πηγές και περαιτέρω μελέτη

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

  1. OpenStax, Rice University — Introduction to Computer Science, §8.4: Nonrelational Database Management Systems Ιεραρχικά και μη σχεσιακά μοντέλα. Η χρήση εδώ αφορά την ταξινόμηση, όχι τεχνική ανάλυση του θεωρήματος CAP.
  2. IBM — What Is a Database? Πλοηγούμενα, αντικειμενοστραφή, πολυμοντελικά και φιλοξενούμενα στο νέφος συστήματα.
  3. PostgreSQL 18 — §2.2: Concepts Σχεσιακό μοντέλο, πίνακες και βασική οργάνωση.
  4. PostgreSQL 18 — §8.14: JSON Types Δυνατότητες JSON/JSONB σε σχεσιακό σύστημα.
  5. MongoDB — Data Modeling Έγγραφα, ενσωμάτωση και αναφορές με βάση την πρόσβαση στα δεδομένα.
  6. Redis — Keys and Values Μοντέλο κλειδιού–τιμής και εντοπισμός αντικειμένων.
  7. Apache Cassandra — Architecture: Dynamo Wide-column μοντέλο, κατατμήσεις και οργάνωση γραμμών.
  8. Neo4j — What Is a Graph Database? Κόμβοι, σχέσεις, ιδιότητες και διαδρομές.
  9. InfluxData — What Is a Time Series Database? Χρονικά επισημασμένες μετρήσεις και συμβάντα, τακτικές και ακανόνιστες χρονικές σειρές.
  10. ClickHouse — What Is ClickHouse? Αναλυτική επεξεργασία και φυσική αποθήκευση κατά στήλη.
  11. PostgreSQL 18 — Chapter 26: High Availability, Load Balancing, and Replication Διάταξη υπηρεσιών, αναπαραγωγή και διαθεσιμότητα.
  12. SQLite — Appropriate Uses for SQLite Ενσωματωμένη και τοπική χρήση βάσης.
  13. MongoDB — Transactions Συναλλαγές πολλών εγγράφων και όρια υλοποίησης.
  14. MongoDB — Schema Validation Έλεγχοι σχήματος, τύπων και απαιτούμενων πεδίων.
  15. HL7 International — FHIR R4: Using FHIR in Persistent Stores Διάκριση ανταλλαγής και εσωτερικού μοντέλου αποθήκευσης.
  16. HL7 International — FHIR R5: ImagingStudy Αναπαράσταση μελέτης και αναφορές προς αρχεία εικόνων.
  17. ΑΠΔΠΧ — Ασφάλεια επεξεργασίας Τεχνικά και οργανωτικά μέτρα σε συνάρτηση με τους κινδύνους.
  18. PostgreSQL 18 — §3.4: Transactions Ατομικότητα και λογική ομαδοποίηση ενημερώσεων.
  19. PostgreSQL 18 — §5.5: Constraints Έλεγχοι δεδομένων και συσχετίσεων στο σχεσιακό μοντέλο.
  20. PostgreSQL 18 — Chapter 25: Backup and Restore Πολιτική αντιγράφων και αποκατάστασης, ως διαφορετική ανάγκη από την αναπαραγωγή.