Κυκλοφορία του Redis 6.0 DBMS

Ετοιμος Έκδοση DBMS Ρέντις 6.0, που ανήκουν στην κατηγορία των συστημάτων NoSQL. Το Redis παρέχει λειτουργίες που μοιάζουν με Memcached για την αποθήκευση δεδομένων κλειδιού/τιμής, ενισχυμένες με υποστήριξη για δομημένες μορφές δεδομένων, όπως λίστες, κατακερματισμούς και σύνολα, και τη δυνατότητα εκτέλεσης σεναρίων χειρισμού Lua από την πλευρά του διακομιστή. Κωδικός έργου παρέχονται με άδεια BSD. Πρόσθετες ενότητες που προσφέρουν προηγμένες δυνατότητες για εταιρικούς χρήστες όπως RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom από πέρυσι που παρέχεται υπό την αποκλειστική άδεια RSAL. Η ανάπτυξη ανοιχτών εκδόσεων αυτών των μονάδων με την άδεια AGPLv3 συνεχίζεται από το έργο Καλή φόρμα.

Σε αντίθεση με το Memcached, το Redis παρέχει μόνιμη αποθήκευση δεδομένων στο δίσκο και εγγυάται την ασφάλεια της βάσης δεδομένων σε περίπτωση έκτακτης διακοπής λειτουργίας. Ο πηγαίος κώδικας του έργου διανέμεται υπό την άδεια BSD. Οι βιβλιοθήκες πελατών είναι διαθέσιμες για τις πιο δημοφιλείς γλώσσες, συμπεριλαμβανομένων των Perl, Python, PHP, Java, Ruby και Tcl. Το Redis υποστηρίζει συναλλαγές, οι οποίες σας επιτρέπουν να εκτελέσετε μια ομάδα εντολών σε ένα βήμα, διασφαλίζοντας συνέπεια και συνέπεια (εντολές από άλλα αιτήματα δεν μπορούν να παρεμβαίνουν) στην εκτέλεση ενός δεδομένου συνόλου εντολών και σε περίπτωση προβλημάτων, επιτρέποντάς σας να επιστρέψετε αλλαγές. Όλα τα δεδομένα αποθηκεύονται πλήρως στη μνήμη RAM.

Για τη διαχείριση δεδομένων παρέχονται εντολές όπως λειτουργίες αύξησης/μείωσης, τυπικής λίστας και συνόλου (ένωση, διασταύρωση), μετονομασία κλειδιού, πολλαπλές επιλογές και λειτουργίες ταξινόμησης. Υποστηρίζονται δύο τρόποι αποθήκευσης: περιοδικός συγχρονισμός δεδομένων με δίσκο και διατήρηση ενός αρχείου καταγραφής αλλαγών στο δίσκο. Στη δεύτερη περίπτωση, η πλήρης ασφάλεια όλων των αλλαγών είναι εγγυημένη. Είναι δυνατό να οργανωθεί η αναπαραγωγή δεδομένων master-slave σε πολλούς διακομιστές, που πραγματοποιείται σε λειτουργία μη αποκλεισμού. Διατίθεται επίσης μια λειτουργία ανταλλαγής μηνυμάτων "δημοσίευση/εγγραφή", στην οποία δημιουργείται ένα κανάλι, τα μηνύματα από το οποίο διανέμονται στους πελάτες μέσω συνδρομής.

Κλειδί βελτιώσειςπροστέθηκε στο Redis 6.0:

  • Από προεπιλογή, προτείνεται το νέο πρωτόκολλο RESP3, αλλά η εγκατάσταση σύνδεσης ξεκινά σε λειτουργία RESP2 και ο πελάτης μεταβαίνει στο νέο πρωτόκολλο μόνο εάν χρησιμοποιηθεί η νέα εντολή HELLO κατά τη διαπραγμάτευση της σύνδεσης. Το RESP3 σάς επιτρέπει να επιστρέφετε απευθείας σύνθετους τύπους δεδομένων χωρίς την ανάγκη μετατροπής γενικών πινάκων στην πλευρά του πελάτη και διαχωρίζοντας τους τύπους επιστροφής.
  • Υποστήριξη λίστας ελέγχου πρόσβασης (ACL), επιτρέποντάς σας να προσδιορίσετε με ακρίβεια ποιες λειτουργίες μπορούν να εκτελεστούν από τον πελάτη και ποιες όχι. Τα ACL καθιστούν επίσης δυνατή την προστασία από πιθανά σφάλματα κατά την ανάπτυξη, για παράδειγμα, σε έναν χειριστή που εκτελεί μόνο τη λειτουργία BRPOPLPUSH μπορεί να απαγορευτεί η εκτέλεση άλλων λειτουργιών και εάν η κλήση FLUSHALL που προστέθηκε κατά τον εντοπισμό σφαλμάτων ξεχαστεί κατά λάθος στον κώδικα παραγωγής, αυτό θα να μην οδηγήσει σε προβλήματα. Η εφαρμογή ενός ACL δεν επιφέρει πρόσθετα έξοδα και ουσιαστικά δεν έχει καμία επίδραση στην απόδοση. Οι μονάδες διεπαφής έχουν επίσης προετοιμαστεί για το ACL, καθιστώντας δυνατή τη δημιουργία των δικών σας μεθόδων ελέγχου ταυτότητας. Για να δείτε όλες τις καταγεγραμμένες παραβιάσεις ACL, παρέχεται η εντολή «ACL LOG». Για τη δημιουργία απρόβλεπτων κλειδιών περιόδου λειτουργίας, η εντολή "ACL GENPASS" έχει προστεθεί χρησιμοποιώντας HMAC που βασίζεται σε SHA256.
  • Υποστήριξη SSL / TLS για την κρυπτογράφηση του καναλιού επικοινωνίας μεταξύ του πελάτη και του διακομιστή.
  • Υποστήριξη προσωρινή αποθήκευση δεδομένων στην πλευρά του πελάτη. Για τη συμφωνία της κρυφής μνήμης από την πλευρά του πελάτη με την κατάσταση της βάσης δεδομένων, υπάρχουν δύο τρόποι λειτουργίας: 1. Απομνημόνευση στον διακομιστή των κλειδιών που ζήτησε προηγουμένως ο πελάτης προκειμένου να τον ενημερώσει σχετικά με την απώλεια της συνάφειας της καταχώρισης στη μνήμη cache του πελάτη. 2. Ο μηχανισμός «εκπομπής», στον οποίο ο πελάτης εγγράφεται σε ορισμένα προθέματα κλειδιών και ο διακομιστής τον ειδοποιεί εάν αλλάξουν τα κλειδιά που εμπίπτουν σε αυτά τα προθέματα. Το πλεονέκτημα της λειτουργίας "εκπομπής" είναι ότι ο διακομιστής δεν σπαταλά πρόσθετη μνήμη για την αποθήκευση ενός χάρτη τιμών που έχει αποθηκευτεί προσωρινά στην πλευρά του πελάτη, αλλά το μειονέκτημα είναι ότι αυξάνεται ο αριθμός των μεταδιδόμενων μηνυμάτων.
  • Ο μεσολαβητής μηνυμάτων Disque, ο οποίος σας επιτρέπει να χρησιμοποιείτε το Redis για την επεξεργασία ουρών μηνυμάτων, έχει αφαιρεθεί από τη βασική δομή στο ξεχωριστή ενότητα.
  • Προστέθηκε Cluster Proxy, ένας διακομιστής μεσολάβησης για ένα σύμπλεγμα διακομιστών Redis, που επιτρέπει σε έναν πελάτη να οργανώσει την εργασία με πολλούς διακομιστές Redis σαν να ήταν μια ενιαία παρουσία. Ο διακομιστής μεσολάβησης μπορεί να δρομολογήσει αιτήματα σε κόμβους με τα απαραίτητα δεδομένα, συνδέσεις πολυπλεξίας, να διαμορφώσει εκ νέου το σύμπλεγμα εάν εντοπιστούν αστοχίες κόμβων και να εκτελέσει αιτήματα που εκτείνονται σε πολλούς κόμβους.
  • Το API για τη σύνταξη ενοτήτων έχει βελτιωθεί σημαντικά, μετατρέποντας ουσιαστικά το Redis σε ένα πλαίσιο που σας επιτρέπει να δημιουργείτε συστήματα με τη μορφή πρόσθετων λειτουργικών μονάδων.
  • Έχει εφαρμοστεί μια λειτουργία αναπαραγωγής στην οποία τα αρχεία RDB διαγράφονται αμέσως μετά τη χρήση τους.
  • Το πρωτόκολλο αναπαραγωγής PSYNC2 έχει βελτιωθεί, γεγονός που κατέστησε δυνατή τη συχνότερη εκτέλεση μερικού επανασυγχρονισμού, αυξάνοντας τις πιθανότητες εντοπισμού μετατοπίσεων κοινών για το αντίγραφο και το κύριο.
  • Η φόρτωση των αρχείων RDB έχει επιταχυνθεί. Ανάλογα με το περιεχόμενο του αρχείου, η επιτάχυνση κυμαίνεται από 20 έως 30%. Η εκτέλεση της εντολής INFO έχει επιταχυνθεί σημαντικά όταν υπάρχει μεγάλος αριθμός συνδεδεμένων πελατών.
  • Μια νέα εντολή STRALGO προστέθηκε με την εφαρμογή πολύπλοκων αλγορίθμων επεξεργασίας συμβολοσειρών. Επί του παρόντος, είναι διαθέσιμος μόνο ένας αλγόριθμος LCS (μακρύτερη κοινή υποακολουθία), ο οποίος μπορεί να είναι χρήσιμος κατά τη σύγκριση αλληλουχιών RNA και DNA.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο