Κοινότητα Valkey ανακοίνωσε την κυκλοφορία Valkey 9.1 — μια νέα σταθερή έκδοση ενός χώρου αποθήκευσης δεδομένων κλειδιού-τιμής υψηλής απόδοσης, ανοιχτού κώδικα (άδεια BSD) που υποστηρίζει διάφορες περιπτώσεις χρήσης, όπως προσωρινή αποθήκευση και ουρές μηνυμάτων, και μπορεί επίσης να λειτουργήσει ως κύρια βάση δεδομένων. Το έργο υποστηρίζεται από Linux Foundation, το οποίο διασφαλίζει τη συνεχή διαθεσιμότητά του ως ανοιχτού κώδικα.
Το έργο είναι ένα fork του Redis και δημιουργήθηκε μετά από αλλαγές στην αδειοδότησή του.
Αυτή η έκδοση περιλαμβάνει νέες δυνατότητες, βελτιώσεις στην ασφάλεια, την παρακολούθηση, την απόδοση και την αποτελεσματικότητα των εργαλείων. Πάνω από 80 άτομα συνέβαλαν στην κυκλοφορία.
Σημαντικές αλλαγές
Η Lua έχει μετακινηθεί σε ξεχωριστή ενότητα.
Στο Valkey 9.1, η μηχανή scripting Lua έχει διαχωριστεί από τον κύριο διακομιστή και έχει μετακινηθεί σε ξεχωριστή ενότητα. Αυτός ο διαχωρισμός μειώνει την επιφάνεια επίθεσης του πυρήνα Valkey και επιτρέπει στους διαχειριστές να απενεργοποιήσουν πλήρως το Lua εάν δεν χρησιμοποιούνται scripts. Για να γίνει πιο εύκολη η κατανόηση των μηχανών scripting που έχουν φορτωθεί στο σύστημα, η εντολή INFO έχει πλέον μια νέα ενότητα απόκρισης: Μηχανές Scripting.Νέες διορθώσεις ασφαλείας.
Η σταθερή έκδοση 9.1.0 περιλαμβάνει διορθώσεις για τρία τρωτά σημεία: ένα use-after-free στον μηχανισμό ξεκλειδώματος του προγράμματος-πελάτη, μια μη έγκυρη πρόσβαση στη μνήμη στην εντολή 7RESTORE και ένα use-after-free κατά τον πλήρη συγχρονισμό κατά την εκτέλεση κώδικα Lua/συνάρτησης με απόδοση εκτέλεσης. Αυτά τα τρωτά σημεία αναφέρονται στις σημειώσεις ως CVE-2026-23479, CVE-2026-25243 και CVE-2026-23631.ACL σε επίπεδο βάσης δεδομένων.
Έχει προστεθεί ένα σύστημα ελέγχου πρόσβασης σε επίπεδο βάσης δεδομένων. Αυτό επιτρέπει πιο λεπτομερή δικαιώματα σε διαμορφώσεις πολλαπλών χρηστών και υπερβαίνει τους καθολικούς κανόνες πρόσβασης για ολόκληρη την παρουσία Valkey.Αυτόματη επαναφόρτωση πιστοποιητικών TLS.
Το Valkey 9.1 υποστηρίζει πλέον την αυτόματη επαναφόρτωση πιστοποιητικών TLS. Για τους διαχειριστές, αυτό σημαίνει λιγότερα χειροκίνητα βήματα κατά την εναλλαγή πιστοποιητικών και πιο βολικό χειρισμό ασφαλών εγκαταστάσεων.Νέα ομάδα HGETDEL.
Η εντολή ανακτά και διαγράφει ατομικά ένα ή περισσότερα πεδία από μια δομή κατακερματισμού. Αυτό είναι ιδιαίτερα χρήσιμο για σενάρια όπως ουρές ή εφάπαξ κατανάλωση δεδομένων, όπου προηγουμένως ήταν απαραίτητο να συνδυαστούν οι μέθοδοι HGET και HDEL μέσω μιας συναλλαγής.Νέα ομάδα MSETEX.
Το MSETEX σάς επιτρέπει να ορίσετε πολλά κλειδιά με κοινόχρηστη διάρκεια ζωής χρησιμοποιώντας μία μόνο εντολή. Προηγουμένως, αυτό το σενάριο απαιτούσε πολλαπλές κλήσεις SETEX ή έναν συνδυασμό κλήσεων SET και EXPIRE μέσω του αγωγού. Η νέα εντολή μειώνει τον αριθμό των κλήσεων και απλοποιεί τον τυπικό κώδικα για δεδομένα συνεδρίας και προσωρινά δεδομένα.Νέα ομάδα CLUSTERSCAN.
Τα clusters έχουν πλέον μία μόνο εντολή για τη σάρωση κλειδιών σε όλους τους κόμβους. Προηγουμένως, οι υπολογιστές-πελάτες έπρεπε να εκτελούν χειροκίνητα το SCAN σε κάθε κόμβο και να συγχωνεύουν τα αποτελέσματα. Το CLUSTERSCAN απλοποιεί τις βιβλιοθήκες των πελατών, τα εργαλεία διαχείρισης και τις λειτουργικές εργασίες, όπως η αναζήτηση κλειδιών με βάση το μοτίβο ή τον τύπο, σε ολόκληρο το cluster.Βελτιστοποίηση της κατανάλωσης μνήμης των συμβολοσειρών.
Οι βελτιστοποιήσεις εσωτερικών δεικτών για συμβολοσειρές μικρότερες από 128 byte έχουν αποδειχθεί ότι μειώνουν την κατανάλωση μνήμης έως και 20%. Αυτό είναι ιδιαίτερα σημαντικό για τυπικά φόρτα εργασίας προσωρινής αποθήκευσης που αποθηκεύουν μεγάλο αριθμό μικρών τιμών.Λιγότερη μνήμη για ταξινομημένα σύνολα.
Οι βελτιστοποιήσεις στις δομές skiplist μειώνουν την κατανάλωση μνήμης για τα ταξινομημένα σύνολα έως και 10%. Οι λειτουργίες σε ταξινομημένα σύνολα, συμπεριλαμβανομένων ερωτημάτων όπως ZRANGEBYSCORE και ZRANGEBYLEX, έχουν επίσης επιταχυνθεί.Επιταχυνόμενη εργασία με επανάληψη.
Η εσωτερική ανακατανομή του πίνακα κατακερματισμού, η οποία συμβαίνει συχνά όταν αυξάνεται ο χώρος κλειδιών, έχει βελτιστοποιηθεί για τη μείωση της καθυστέρησης. Οι σημειώσεις έκδοσης αναφέρουν επίσης μια μείωση στις αιχμές καθυστέρησης λόγω της σταδιακής κυκλοφορίας σελίδας.Βελτιωμένο μοντέλο νημάτων εισόδου/εξόδου.
Η υποψήφια έκδοση 9.1.0-rc2 αναδιαμόρφωσε το μοντέλο αλληλεπίδρασης νημάτων εισόδου/εξόδου χρησιμοποιώντας ουρές χωρίς κλείδωμα. Οι σημειώσεις έκδοσης δείχνουν αύξηση στην απόδοση κατά 8–17%.Επιταχύνετε το GET και το SET.
Το Valkey χρησιμοποιεί πλέον το ρολόι υλικού από προεπιλογή όπου είναι δυνατόν, μειώνοντας την επιβάρυνση των κλήσεων συστήματος που σχετίζονται με τον χρόνο. Το έργο προβλέπει συνολική αύξηση της απόδοσης έως και 3% για τις λειτουργίες GET και SET.Ταχύτερες μαζικές μεταφορές.
Το Valkey αναστέλλει πλέον προσωρινά την εσωτερική αλλαγή μεγέθους των πινάκων κατακερματισμού κατά τη διάρκεια λειτουργιών όπως SREM, ZREM και HDEL για να αποφευχθεί η περιττή ανακατανομή και να επιταχυνθεί η μαζική διαγραφή στοιχείων.Πιο αποτελεσματική δημιουργία αντιγράφων κατά τη διάρκεια του AOF.
Κατά τη δημιουργία ενός αντιγράφου με ενεργοποιημένο το AOF, το αρχείο RDB που προκύπτει επαναχρησιμοποιείται πλέον αντί να δημιουργείται ένα νέο στιγμιότυπο για το αρχικό βασικό αρχείο AOF. Αυτό θα πρέπει να μειώσει την περιττή επιβάρυνση κατά την ανάπτυξη αντιγράφων.Βελτιώσεις στα valkey-cli και valkey-benchmark.
Η υποστήριξη μετεγκατάστασης ατομικών θέσεων έχει προστεθεί στο valkey-cli μέσω της παραμέτρου --cluster-use-atomic-slot-migration για τις λειτουργίες --cluster rebalance και --cluster reshard. Η έξοδος κατανομής RPS έχει προστεθεί στο valkey-benchmark, μαζί με τις παραμέτρους --warmup και --duration, καθιστώντας τις δοκιμές απόδοσης πιο διαχειρίσιμες.
Ξεχωριστά μαζί με το Valkey 9.1 στο οικοσύστημα σχετικά έργα προωθούνται: Διαχείριση Valkey για την οπτική διαχείριση των συστάδων, Αναζήτηση Valkey 1.2 με αναζήτηση πλήρους κειμένου, αριθμητικά φίλτρα, ετικέτες και αναζήτηση διανυσμάτων, καθώς και βιβλιοθήκη πελατών Valkey GLIDE.
Το Valkey 9.1 αποτελεί μια σημαντική ενημέρωση από άποψη απόδοσης: λιγότερη μνήμη σε κοινές δομές, μικρότερη καθυστέρηση κατά τις εσωτερικές ανακατασκευές, νέες εντολές για clusters και προσωρινά δεδομένα και ένα πιο ακριβές μοντέλο ασφαλείας για εγκαταστάσεις παραγωγής.
Πηγή: linux.org.ru
