Το libmdbx 0.10.4 έρχεται με διάφορες βελτιώσεις και διορθώσεις σφαλμάτων

Η απελευθέρωση του βιβλιοθήκες έκδοσης 0.10.4 "Libmdbx" στο οποίο συνολικά, πάνω από 160 αλλαγές που έγιναν σε 57 αρχεία, προστέθηκαν lines 5000 γραμμές και αφαιρέθηκαν ~ 2500Το Για όσους δεν είναι εξοικειωμένοι με το libmdbx, θα πρέπει να γνωρίζετε ότι πρόκειται για ένα σύνολο βιβλιοθηκών που αποτελούν υλοποίηση μιας συμπαγούς, υψηλής απόδοσης ενσωματωμένης βάσης δεδομένων της κλάσης κλειδιών-τιμών.

Ιστορικά, Το libmdbx είναι μια βαθιά επεξεργασία του LMSDB DBMS και ξεπερνά τον προκάτοχό του σε αξιοπιστία, σύνολο χαρακτηριστικών και απόδοση. Σε σύγκριση με το LMDB, το libmdbx δίνει μεγάλη έμφαση στην ποιότητα κώδικα, τη σταθερότητα API, τις δοκιμές και τους αυτοματοποιημένους ελέγχους. Παρέχεται ένα βοηθητικό πρόγραμμα για την επαλήθευση της ακεραιότητας της δομής της βάσης δεδομένων με ορισμένες επιλογές ανάκτησης.

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

Για libmdbx, προσφέρεται API C ++, καθώς και συνδέσεις συμβατές με τους λάτρεις των Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Για το libfpta, μόνο η περιγραφή API με τη μορφή αρχείου κεφαλίδας C / C ++ είναι δημόσια διαθέσιμη.

Εκτός από την υποστήριξη Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD και άλλα συμβατά συστήματα POSIX.1-2008.

Κύρια νέα χαρακτηριστικά του libmdbx 0.10.4

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

Στο API C ++ που διορθώθηκε μία φορά "χωρίς εξαίρεση", προστέθηκε επιπλέον υπερφόρτωση για τη μέθοδο "cursor :: erase ()", Η εφαρμογή των buffer απαλλάσσεται με τη χρήση "std :: string" για να διασφαλιστεί η ευθυγράμμιση (τρέχουσα για το CLANG libstdc ++)

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

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

Όσον αφορά τις διορθώσεις σφαλμάτων που δημιουργήθηκαν σε αυτή τη νέα έκδοση, αναφέρονται τα ακόλουθα:

  • Διορθώθηκε ένα σφάλμα όπου, σε πολύ σπάνιες περιπτώσεις, θα μπορούσε να συμβεί ένας βρόχος / συντριβή κατά την πραγματοποίηση μιας συναλλαγής. Το πρόβλημα εντοπίστηκε από ειδικούς της Positive Technologies κατά τη διάρκεια εσωτερικών δοκιμών των δικών τους προϊόντων.
  • Διορθώθηκε η παλινδρόμηση στον βρόμικο αλγόριθμο διαρροής σελίδων (επιλεκτική έξωση τροποποιημένων σελίδων βάσης δεδομένων) που εκδηλώνεται με σπάνιο απροσδόκητο σφάλμα MDBX_PROBLEM κατά την αλλαγή δεδομένων σε μεγάλες συναλλαγές.
  • Διορθώθηκαν μικρά ζητήματα UndefinedBehaviorSanitizer και Coverity Scan.
    Διορθώθηκε η παλαιά και αχρησιμοποίητη εσωτερική επισήμανση ελέγχου "P_DIRTY" σε σελίδες ένθετες σε εικόνες βάσης δεδομένων που δημιουργήθηκαν από παλαιότερες εκδόσεις της βιβλιοθήκης.
  • Διορθώθηκε η αναδρομική χρήση του κλειδώματος SRW στα Windows όταν εργάζεστε σε λειτουργία MDBX_NOTLS (χωρίς να χρησιμοποιείτε τοπικό χώρο αποθήκευσης νήματος), σταθερή δημιουργία bootid σε περίπτωση αλλαγής χρόνου του συστήματος, βελτιωμένη ανίχνευση WSL1 και WSL2, πρόσθεσε τη δυνατότητα ανοίγματος βάσης δεδομένων Plan 9 DrvFS.

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


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.