Keluaran stabil MariaDB DBMS 10.6

Selepas setahun pembangunan dan tiga keluaran awal, keluaran stabil pertama cawangan baharu MariaDB 10.6 DBMS telah diterbitkan, di mana satu cawangan MySQL sedang dibangunkan yang mengekalkan keserasian ke belakang dan dibezakan dengan penyepaduan enjin storan tambahan dan keupayaan maju. Sokongan untuk cawangan baharu akan disediakan selama 5 tahun, sehingga Julai 2026.

Pembangunan MariaDB diawasi oleh Yayasan MariaDB yang bebas, berikutan proses pembangunan yang terbuka dan telus sepenuhnya yang bebas daripada vendor individu. MariaDB dibekalkan sebagai pengganti MySQL dalam banyak pengedaran Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) dan telah dilaksanakan dalam projek besar seperti Wikipedia, Google Cloud SQL dan Nimbuzz.

Penambahbaikan utama dalam MariaDB 10.6:

  • Perlaksanaan atom bagi ungkapan "CREATE TABLE|VIEW|SEQUENCE|PENCETUS", "ALTER JADUAL|SEQUENCE", "RENAME JADUAL|JADUAL", "DROP TABLE|VIEW|VIEW|PENCETUS|PANGKALAN DATA" dipastikan (sama ada ungkapan itu siap sepenuhnya atau semuanya dikembalikan kepada keadaan asal). Dalam kes operasi "DROP TABLE" yang memadamkan beberapa jadual sekaligus, atomicity dipastikan pada tahap setiap jadual individu. Tujuan perubahan adalah untuk memastikan integriti sekiranya berlaku ranap pelayan semasa operasi. Sebelum ini, selepas ranap sistem, jadual dan fail sementara boleh kekal, penyegerakan jadual dalam enjin storan dan fail frm boleh terganggu, dan jadual individu boleh kekal tidak dinamakan apabila beberapa jadual dinamakan semula sekaligus. Integriti dipastikan dengan mengekalkan log pemulihan keadaan, laluan yang boleh ditentukan melalui pilihan baharu β€œβ€”log-ddl-recovery=file” (ddl-recovery.log secara lalai).
  • Pembinaan "SELECT ... OFFSET ... FETCH" yang ditakrifkan dalam standard SQL 2008 telah dilaksanakan, membolehkan anda memaparkan bilangan baris tertentu bermula dari offset yang ditentukan, dengan keupayaan untuk menggunakan parameter "WITH TIES" untuk lampirkan satu lagi nilai seterusnya. Sebagai contoh, ungkapan "PILIH i DARI t1 ORDER OLEH i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" berbeza daripada pembinaan "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" dengan mengeluarkan satu lagi elemen dalam ekor (bukannya 3 4 baris akan dicetak).
  • Untuk enjin InnoDB, sintaks "PILIH ... SKIP LOCKED" telah dilaksanakan, yang membolehkan anda mengecualikan baris yang kuncinya tidak boleh ditetapkan ("LOCK IN SHARE MOD" atau "UNTUK KEMASKINI").
  • Keupayaan untuk mengabaikan indeks telah dilaksanakan (dalam MySQL 8, fungsi ini dipanggil "indeks tidak kelihatan"). Menandai indeks untuk diabaikan dilakukan menggunakan bendera IGNORED dalam pernyataan ALTER TABLE, selepas itu indeks kekal kelihatan dan dikemas kini, tetapi tidak digunakan oleh pengoptimum.
  • Menambahkan fungsi JSON_TABLE() untuk menukar data JSON ke dalam bentuk hubungan. Sebagai contoh, dokumen JSON boleh diubah untuk digunakan dalam konteks jadual, yang boleh ditentukan di dalam blok FROM dalam pernyataan SELECT.
  • Keserasian yang dipertingkatkan dengan Oracle DBMS: Menambah sokongan untuk subquery tanpa nama di dalam blok FROM. Konstruk MINUS telah dilaksanakan (bersamaan dengan KECUALI). Menambahkan fungsi ADD_MONTHS(), TO_CHAR(), SYS_GUID() dan ROWNUM().
  • Dalam enjin InnoDB, memasukkan ke dalam jadual kosong telah dipercepatkan. Format rentetan COMPRESSED ditetapkan kepada mod baca sahaja secara lalai. Skim SYS_TABLESPACES menggantikan SYS_DATAFILES dan secara langsung mencerminkan keadaan dalam sistem fail. Sokongan tulis malas disediakan untuk ruang meja sementara. Sokongan untuk algoritma checksum lama, yang dikekalkan untuk keserasian dengan MariaDB 5.5, telah dihentikan.
  • Dalam sistem replikasi, saiz nilai parameter master_host telah ditingkatkan daripada 60 kepada 255 aksara, dan master_user kepada 128. Pembolehubah binlog_expire_logs_seconds telah ditambah untuk mengkonfigurasi masa tamat tempoh log binari dalam saat (sebelum ini, masa set semula ialah ditentukan hanya dalam hari melalui pembolehubah expire_logs_days).
  • Mekanisme replikasi berbilang induk segerak Galera melaksanakan pembolehubah wsrep_mode untuk mengkonfigurasi parameter API WSREP (Write Set REPlication). Membenarkan penukaran Galera daripada komunikasi tidak disulitkan kepada TLS tanpa menghentikan kluster.
  • Skema sys-schema telah dilaksanakan, yang mengandungi koleksi pandangan, fungsi dan prosedur untuk menganalisis operasi pangkalan data.
  • Jadual perkhidmatan ditambah untuk menganalisis prestasi replikasi.
  • Paparan INFORMATION_SCHEMA.KEYWORDS dan INFORMATION_SCHEMA.SQL_FUNCTIONS telah ditambahkan pada set jadual maklumat, memaparkan senarai kata kunci dan fungsi yang tersedia.
  • Repositori TokuDB dan CassandraSE telah dialih keluar.
  • Pengekodan utf8 telah dipindahkan daripada perwakilan empat bait utf8mb4 (U+0000..U+10FFFF) kepada utf8mb3 tiga bait (meliputi julat Unicode U+0000..U+FFFF).
  • Menambah sokongan untuk pengaktifan soket dalam systemd.
  • Pemalam GSSAPI telah menambah sokongan untuk nama kumpulan Active Directory dan SID.
  • Semakan tambahan untuk kehadiran fail konfigurasi $MARIADB_HOME/my.cnf sebagai tambahan kepada $MYSQL_HOME/my.cnf.
  • Pembolehubah sistem baharu binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode dan Innodb_buffer_pool_pages_lru_freed telah dilaksanakan.

Sumber: opennet.ru

Tambah komen