Σταθερή έκδοση MariaDB 10.6

Μετά από ένα χρόνο ανάπτυξης και τρεις προκαταρκτικές εκδόσεις, δημοσιεύτηκε η πρώτη σταθερή έκδοση του νέου κλάδου του MariaDB 10.6 DBMS, εντός του οποίου αναπτύσσεται ένας κλάδος της MySQL που διατηρεί συμβατότητα προς τα πίσω και διακρίνεται από την ενσωμάτωση πρόσθετων μηχανών αποθήκευσης και προηγμένες δυνατότητες. Η υποστήριξη του νέου υποκαταστήματος θα παρέχεται για 5 χρόνια, έως τον Ιούλιο του 2026.

Η ανάπτυξη του MariaDB επιβλέπεται από το ανεξάρτητο Ίδρυμα MariaDB, ακολουθώντας μια εντελώς ανοιχτή και διαφανή διαδικασία ανάπτυξης που είναι ανεξάρτητη από μεμονωμένους προμηθευτές. Το MariaDB παρέχεται ως αντικατάσταση της MySQL σε πολλές διανομές Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) και έχει εφαρμοστεί σε μεγάλα έργα όπως η Wikipedia, το Google Cloud SQL και το Nimbuzz.

Βασικές βελτιώσεις στο MariaDB 10.6:

  • Εξασφαλίζεται η ατομική εκτέλεση των εκφράσεων «ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ|ΠΡΟΒΟΛΗ|SEQUENCE|TRIGGER», «ALTER TABLE|SEQUENCE», «RENAME TABLE|TABLES», «DROP TABLE|ΠΡΟΒΟΛΗ|ΠΡΟΒΟΛΗ|ΣΥΝΔΥΑΣΜΟΣ|ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ» (είτε η έκφραση είναι ολοκληρωθεί πλήρως ή όλα επιστρέφουν στην αρχική τους κατάσταση). Στην περίπτωση των πράξεων «DROP TABLE» που διαγράφουν πολλούς πίνακες ταυτόχρονα, η ατομικότητα εξασφαλίζεται στο επίπεδο κάθε μεμονωμένου πίνακα. Σκοπός της αλλαγής είναι η διασφάλιση της ακεραιότητας σε περίπτωση κατάρρευσης διακομιστή κατά τη διάρκεια μιας λειτουργίας. Προηγουμένως, μετά από μια διακοπή λειτουργίας, οι προσωρινοί πίνακες και τα αρχεία θα μπορούσαν να παραμείνουν, ο συγχρονισμός των πινάκων σε μηχανές αποθήκευσης και αρχεία frm θα μπορούσε να διαταραχθεί και οι μεμονωμένοι πίνακες θα μπορούσαν να παραμείνουν χωρίς όνομα όταν μετονομάζονταν πολλοί πίνακες ταυτόχρονα. Η ακεραιότητα διασφαλίζεται με τη διατήρηση ενός αρχείου καταγραφής ανάκτησης κατάστασης, η διαδρομή προς την οποία μπορεί να προσδιοριστεί μέσω της νέας επιλογής «—log-ddl-recovery=file» (ddl-recovery.log από προεπιλογή).
  • Η κατασκευή "SELECT ... OFFSET ... FETCH" που ορίζεται στο πρότυπο SQL 2008 έχει εφαρμοστεί, επιτρέποντάς σας να εμφανίσετε έναν ορισμένο αριθμό σειρών ξεκινώντας από μια καθορισμένη μετατόπιση, με τη δυνατότητα χρήσης της παραμέτρου "WITH TIES" επισυνάψτε μια άλλη επόμενη τιμή. Για παράδειγμα, η έκφραση "SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" διαφέρει από την κατασκευή "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" με την έξοδο ενός ακόμη στοιχείου στην ουρά (αντί για 3 4 γραμμές θα βγουν).
  • Για τη μηχανή InnoDB, έχει εφαρμοστεί η σύνταξη "ΕΠΙΛΟΓΗ ... ΠΑΡΑΛΕΙΨΗ ΚΛΕΙΔΩΜΕΝΟΥ", η οποία σας επιτρέπει να εξαιρέσετε σειρές για τις οποίες δεν μπορεί να οριστεί κλείδωμα ("LOCK IN SHARE MODE" ή "FOR UPDATE").
  • Έχει εφαρμοστεί η δυνατότητα παράβλεψης ευρετηρίων (στη MySQL 8, αυτή η λειτουργία ονομάζεται "αόρατα ευρετήρια"). Η επισήμανση ενός ευρετηρίου για παράβλεψη γίνεται χρησιμοποιώντας τη σημαία IGNORED στη δήλωση ALTER TABLE, μετά την οποία το ευρετήριο παραμένει ορατό και ενημερώνεται, αλλά δεν χρησιμοποιείται από το βελτιστοποιητή.
  • Προστέθηκε η συνάρτηση JSON_TABLE() για τη μετατροπή δεδομένων JSON σε σχεσιακή μορφή. Για παράδειγμα, ένα έγγραφο JSON μπορεί να μετασχηματιστεί για χρήση στο πλαίσιο ενός πίνακα, ο οποίος μπορεί να καθοριστεί μέσα σε ένα μπλοκ FROM σε μια πρόταση SELECT.
  • Βελτιωμένη συμβατότητα με Oracle DBMS: Προστέθηκε υποστήριξη για ανώνυμα δευτερεύοντα ερωτήματα εντός του μπλοκ FROM. Η κατασκευή MINUS έχει υλοποιηθεί (ισοδύναμη με EXCEPT). Προστέθηκαν συναρτήσεις ADD_MONTHS(), TO_CHAR(), SYS_GUID() και ROWNUM().
  • Στον κινητήρα InnoDB, η εισαγωγή σε άδειους πίνακες έχει επιταχυνθεί. Η μορφή COMPRESSED string έχει οριστεί σε λειτουργία μόνο για ανάγνωση από προεπιλογή. Το σχήμα SYS_TABLESPACES αντικατέστησε το SYS_DATAFILES και αντικατοπτρίζει άμεσα την κατάσταση στο σύστημα αρχείων. Παρέχεται υποστήριξη Lazy write για τον προσωρινό χώρο τραπεζιού. Η υποστήριξη για τον παλιό αλγόριθμο αθροίσματος ελέγχου, ο οποίος διατηρήθηκε για συμβατότητα με το MariaDB 5.5, έχει διακοπεί.
  • Στο σύστημα αναπαραγωγής, το μέγεθος της τιμής της παραμέτρου master_host έχει αυξηθεί από 60 σε 255 χαρακτήρες και το master_user σε 128. Η μεταβλητή binlog_expire_logs_seconds έχει προστεθεί για να διαμορφώσει τον χρόνο λήξης του δυαδικού αρχείου καταγραφής σε δευτερόλεπτα (προηγουμένως, ο χρόνος επαναφοράς ήταν προσδιορίζεται μόνο σε ημέρες μέσω της μεταβλητής expire_logs_days).
  • Ο σύγχρονος μηχανισμός αναπαραγωγής πολλαπλών κυρίων Galera υλοποιεί τη μεταβλητή wsrep_mode για τη διαμόρφωση των παραμέτρων του API WSREP (Write Set REPlication). Επιτρέπεται η μετατροπή του Galera από μη κρυπτογραφημένες επικοινωνίες σε TLS χωρίς διακοπή του συμπλέγματος.
  • Έχει υλοποιηθεί το σχήμα sys-schema, το οποίο περιέχει μια συλλογή προβολών, συναρτήσεων και διαδικασιών για την ανάλυση λειτουργιών της βάσης δεδομένων.
  • Προστέθηκαν πίνακες υπηρεσιών για την ανάλυση της απόδοσης αναπαραγωγής.
  • Οι προβολές INFORMATION_SCHEMA.KEYWORDS και INFORMATION_SCHEMA.SQL_FUNCTIONS έχουν προστεθεί στο σύνολο των πινάκων πληροφοριών, εμφανίζοντας μια λίστα με τις διαθέσιμες λέξεις-κλειδιά και συναρτήσεις.
  • Τα αποθετήρια TokuDB και CassandraSE έχουν αφαιρεθεί.
  • Η κωδικοποίηση utf8 έχει μετακινηθεί από την αναπαράσταση τεσσάρων byte utf8mb4 (U+0000..U+10FFFF) στο utf8mb3 των τριών byte (καλύπτει την περιοχή Unicode U+0000..U+FFFF).
  • Προστέθηκε υποστήριξη για ενεργοποίηση πρίζας στο systemd.
  • Η προσθήκη GSSAPI έχει προσθέσει υποστήριξη για ονόματα ομάδων Active Directory και SID.
  • Προστέθηκε έλεγχος για παρουσία του αρχείου διαμόρφωσης $MARIADB_HOME/my.cnf επιπλέον του $MYSQL_HOME/my.cnf.
  • Έχουν εφαρμοστεί νέες μεταβλητές συστήματος binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode και Innodb_buffer_pool_pages_lru_freed.

Πηγή: opennet.ru

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