13.08.2026
9’ READ TIME

Η ευφυΐα ενός ακατάστατου γραφείου

Κάθε τρόπος να οργανώσεις τον κόσμο κρύβει ένα τίμημα που πληρώνεις είτε τώρα είτε αργότερα. Τα μαθηματικά πίσω από το πώς αποθηκεύουν δεδομένα οι μηχανές αποκαλύπτουν κάτι ανησυχητικά οικείο για τον τρόπο που θυμόμαστε και εμείς οι ίδιοι.
Φωτ.: Shutterstock
Billboard 1

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

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

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

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

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

Το τρίγωνο που δεν κλείνει

Εκείνη η συζήτηση με έβαλε σε σκέψεις, και αποφάσισα να ψάξω. Αυτό που βρήκα ήταν ότι το παράπονο της συντρόφου μου δεν ήταν προσωπική της αδυναμία. Ήταν, όπως αποδεικνύεται, ένας από τους βαθύτερους νόμους της πληροφορικής, και κρύβει μέσα του κάτι πολύ πιο ανθρώπινο από όσο φαντάζεται κανείς.

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

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

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

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

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

Η δομή που δεν τακτοποιεί τίποτα

Ας το κάνουμε πιο συγκεκριμένο όμως, γιατί εδώ κρύβεται η ανατροπή. Για χρόνια, ο αδιαφιλονίκητος βασιλιάς της αποθήκευσης ήταν μια δομή που λέγεται B-tree, η ραχοκοκαλιά σχεδόν κάθε κλασικής βάσης δεδομένων, από τη MySQL μέχρι την Postgres. Το B-tree κρατάει τα πάντα ταξινομημένα, πάντα στη σωστή σειρά, σαν τα ράφια ενός σχολαστικού βιβλιοθηκάριου, όπου κάθε τόμος στέκει στη θέση που του αναλογεί. Όταν θες να διαβάσεις κάτι, το βρίσκεις αμέσως, γιατί το σύστημα ξέρει ακριβώς πού βρίσκεται το καθένα.

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

Και κάπου εκεί ήρθε η ακαταστασία να διεκδικήσει τον θρόνο, με τη μορφή μιας δομής που λέγεται LSM-tree, την καρδιά συστημάτων όπως το RocksDB και η Cassandra. Η λογική της είναι εντυπωσιακά απλή. Αντί να ψάχνει κάθε φορά τη σωστή θέση για μια νέα πληροφορία, την προσθέτει απλώς πάνω στις προηγούμενες. Αφήνει τα νέα δεδομένα να μαζευτούν και, όταν συγκεντρωθούν αρκετά, τα αποθηκεύει όλα μαζί. Δεν χάνει χρόνο να τα βάλει στη σειρά. Τα αφήνει να συσσωρευτούν και συνεχίζει.

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

Η αταξία, λοιπόν, δεν εξαφανίζει το τίμημα. Απλώς μεταθέτει την πληρωμή. 

Κρατώντας κάθε ίχνος

Υπάρχει όμως μια ακόμη πιο ριζοσπαστική στάση απέναντι στην αταξία, την οποία έχει υιοθετήσει ένα ολόκληρο ρεύμα στον σχεδιασμό συστημάτων. Λέγεται append-only και η βασική της αρχή είναι απλή: αντί να αλλάζεις όσα έχουν ήδη γραφτεί, προσθέτεις νέες εγγραφές. Ποτέ δεν σβήνεις, μόνο συσσωρεύεις.

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

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

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

Το αρχείο που δεν υπάρχει

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

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

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

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

Ο εγκέφαλός μας, δηλαδή, δεν είναι το τακτοποιημένο B-tree που νομίζαμε, ούτε καν το append-only αρχείο που κρατάει τα πάντα. Είναι κάτι πιο κοντά στο χαοτικό σύστημα που θυσιάζει την πιστότητα για χάρη της ταχύτητας. Δεν αρχειοθετεί το παρελθόν. Το ξαναφτιάχνει κάθε φορά που το χρειάζεται, και στην πορεία το αλλάζει λίγο, ώστε να ταιριάζει σε αυτό που είμαστε σήμερα.

Τώρα ή αργότερα λοιπόν; 

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

Κανένα από τα δύο δεν έρχεται χωρίς κόστος. Στο ένα πληρώνεις για να διατηρείς την τάξη, στο άλλο πληρώνεις όταν έρθει η ώρα να ψάξεις μέσα στην αταξία. Το τρίγωνο δεν κλείνει για κανέναν, ούτε για τις μηχανές ούτε για εμάς.

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

Λεξικό όρων

MySQL: ένα από τα δημοφιλέστερα συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων στον κόσμο, ανοιχτού κώδικα, που χρησιμοποιείται ευρύτατα σε ιστοσελίδες και εφαρμογές για την αποθήκευση και οργάνωση δεδομένων. Στηρίζεται παραδοσιακά σε δομή B-tree, βελτιστοποιημένη για γρήγορη ανάγνωση. 

Postgres (PostgreSQL): σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανοιχτού κώδικα, γνωστό για την αυστηρή του προσήλωση στα πρότυπα και την αξιοπιστία του σε σύνθετα φορτία δεδομένων. Όπως και η MySQL, οργανώνει τα δεδομένα του παραδοσιακά σε δομή B-tree, ευνοώντας τη γρήγορη ανάγνωση.

RocksDB: σύστημα αποθήκευσης δεδομένων υψηλών επιδόσεων ανοιχτού κώδικα, αναπτυγμένο από τη Meta, βελτιστοποιημένο για ταχύτατη εγγραφή. Σε αντίθεση με τις κλασικές βάσεις που στηρίζονται σε B-tree, χρησιμοποιεί δομή LSM-tree, θυσιάζοντας ταχύτητα στην ανάγνωση για χάρη της ταχύτητας στην εγγραφή.

Cassandra (Apache Cassandra): κατανεμημένο σύστημα διαχείρισης βάσεων δεδομένων ανοιχτού κώδικα, σχεδιασμένο να χειρίζεται τεράστιους όγκους δεδομένων απλωμένους σε πολλούς εξυπηρετητές χωρίς ενιαίο σημείο αστοχίας. Όπως και το RocksDB, στηρίζεται σε δομή LSM-tree, ευνοώντας την ταχύτητα στην εγγραφή.

© WIRED Greece. Επιτρέπεται η αναδημοσίευση αποσπασμάτων μόνο με ενεργό σύνδεσμο προς το πρωτότυπο άρθρο και σαφή αναφορά στο WIRED Greece.
Για πλήρη αναδημοσίευση απαιτείται προηγούμενη γραπτή άδεια.
Θοδωρής Καρασάββας, Έκλεισε τα πρώτα του επαγγελματικά deals διαδικτυακά το 1998 ως πρωτοετής φοιτητής, όταν το Internet… Περισσότερα

Γράψου στο newsletter μας!

Κάνε εγγραφή στο newsletter του WIRED Greece για να λαμβάνεις κάθε εβδομάδα τις ιστορίες, τις ιδέες και τις τεχνολογίες που διαμορφώνουν το αύριο.

Με την εγγραφή σας, συμφωνείτε με τους Όρους Χρήσης μας (συμπεριλαμβανομένης της παραίτησης από ομαδικές αγωγές και των διατάξεων διαιτησίας) και αναγνωρίζετε την Πολιτική Απορρήτου μας.

MOST READ ARTICLES
Sidebar 1
Sidebar 1
READ ALSO