Τι είναι ένα αρχείο CDB;
Τα αρχεία CDB χρησιμοποιούνται σε κρίσιμες για την αποστολή εφαρμογές όπως το email. Το CDB σημαίνει “σταθερή βάση δεδομένων”, ένα γρήγορο, αξιόπιστο και απλό πακέτο για τη δημιουργία ή την ανάγνωση σταθερών βάσεων δεδομένων. Η αντικατάσταση της βάσης δεδομένων είναι ασφαλής έναντι σφαλμάτων συστήματος. Οι χρήστες δεν χρειάζεται να κάνουν παύση κατά τη διάρκεια μιας επανεγγραφής. Το CDB λειτουργεί ως συσχετιστικός πίνακας (στο δίσκο), αντιστοιχίζει κλειδιά σε τιμές και επιτρέπει την αποθήκευση πολλαπλών τιμών σε ένα μόνο κλειδί.
Μορφή αρχείου CDB
Η μορφή αρχείου CDB αποθηκεύει αριθμούς, μετατοπίσεις, μήκη και τιμές κατακερματισμού σε μικρή μορφή endian ως ανυπόγραφους ακέραιους αριθμούς 32 bit. Τα κλειδιά και τα δεδομένα πιστεύεται ότι είναι αδιαφανείς συμβολοσειρές byte χωρίς ειδική επεξεργασία. Στην αρχή της βάσης δεδομένων, η κεφαλίδα σταθερού μεγέθους αντιπροσωπεύει 256 πίνακες κατακερματισμού παραθέτοντας τη θέση τους μέσα στο αρχείο και το μήκος τους σε υποδοχές. Συνήθως τα δεδομένα αποθηκεύονται ως μια ακολουθία εγγραφών, κάθε εγγραφή αποθηκεύει το μήκος κλειδιού, το μήκος δεδομένων, το κλειδί και τα δεδομένα. Δεν υπάρχουν κανόνες ταξινόμησης ή ευθυγράμμισης. Οι εγγραφές ακολουθούνται από ένα σύνολο 256 πινάκων κατακερματισμού διαφορετικού μήκους. Δεδομένου ότι το μηδέν είναι έγκυρο μήκος, ενδέχεται να υπάρχουν λιγότεροι από 256 πίνακες κατακερματισμού αποθηκευμένοι στη βάση δεδομένων, αλλά τίποτα δεν θεωρείται ότι είναι 256 πίνακες. Οι πίνακες κατακερματισμού αποτελούνται από μια σειρά από κουλοχέρηδες, καθεμία από τις οποίες περιέχει μια τιμή κατακερματισμού και μια μετατόπιση εγγραφής. Οι “κενές υποδοχές” έχουν μετατόπιση μηδέν.
Δομή
Η βάση δεδομένων CDB αποτελείται από ένα ολόκληρο σύνολο δεδομένων σε ένα μόνο αρχείο υπολογιστή. Περιλαμβάνει τρία μέρη:
- Επικεφαλίδα σταθερού μεγέθους
- Δεδομένα
- Ένα σετ από πίνακες κατακερματισμού.
Οι αναζητήσεις είναι διαθέσιμες μόνο για ακριβή κλειδιά. Οι αναζητήσεις ενεργούν χρησιμοποιώντας τον ακόλουθο αλγόριθμο:
- Κατακερματίστε το κλειδί.
- Προσδιορίστε σε ποιο πίνακα κατακερματισμού και υποδοχή θα πρέπει να βρίσκεται αυτή η εγγραφή.
- Δοκιμάστε την υποδεικνυόμενη υποδοχή στον πίνακα κατακερματισμού.
Για αναζητήσεις κλειδιών με περισσότερες από μία τιμές, μπορούν να βρεθούν πρόσθετες τιμές απλά συνεχίζοντας την αναζήτηση στην επόμενη υποδοχή.
Χαρακτηριστικά
Η δομή της βάσης δεδομένων CDB παρέχει διάφορα χαρακτηριστικά:
Γρήγορες αναζητήσεις
Μια επιτυχημένη αναζήτηση σε μια τεράστια βάση δεδομένων συνήθως απαιτεί μόνο δύο προσβάσεις στο δίσκο και μια ανεπιτυχής αναζήτηση χρειάζεται μόνο μία.
Χαμηλά γενικά έξοδα
Μια βάση δεδομένων χρησιμοποιεί 2048 byte, 24 byte ανά εγγραφή και χώρο για κλειδιά και δεδομένα.
Χωρίς τυχαία όρια
Το CDB μπορεί να διαχειριστεί οποιαδήποτε βάση δεδομένων έως 4 gigabyte. Δεδομένου ότι δεν υπάρχουν άλλοι περιορισμοί, οι εγγραφές δεν χρειάζεται καν να χωρούν στη μνήμη. Οι βάσεις δεδομένων αποθηκεύονται σε μορφή ανεξάρτητη από τη μηχανή.
Γρήγορη αντικατάσταση ατομικής βάσης δεδομένων
Η εντολή cdbmake μπορεί να ξαναγράψει μια ολόκληρη βάση δεδομένων σε δύο τάξεις μεγέθους, πιο γρήγορα από άλλα πακέτα κατακερματισμού.
Γρήγορη απόρριψη βάσης δεδομένων
Το cdbdump μπορεί να εκτυπώσει τα περιεχόμενα μιας βάσης δεδομένων σε μορφή συμβατή με cdbmake.