Cabang signifikan baru dari DBMS MariaDB 11 diperkenalkan

10 tahun setelah berdirinya cabang 10.x, MariaDB 11.0.0 dirilis, membawa beberapa peningkatan besar dan menghentikan perubahan kompatibilitas. Cabang masih dalam kualitas rilis alfa dan akan siap digunakan untuk produksi setelah stabilisasi. Cabang signifikan berikutnya dari MariaDB 12, berisi perubahan yang merusak kompatibilitas, diharapkan tidak lebih awal dari 10 tahun (tahun 2032).

Proyek MariaDB mengembangkan fork dari MySQL yang mempertahankan kompatibilitas mundur jika memungkinkan dan dibedakan dengan integrasi mesin penyimpanan tambahan dan fitur lanjutan. Pengembangan MariaDB diawasi oleh Yayasan MariaDB independen, mengikuti proses pengembangan yang terbuka dan transparan, terlepas dari vendor individu. MariaDB menggantikan MySQL pada banyak distribusi Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) dan telah diadopsi oleh proyek besar seperti Wikipedia, Google Cloud SQL, dan Nimbuzz.

Peningkatan utama di cabang MariaDB 11 adalah terjemahan pengoptimal kueri ke model bobot baru (model biaya), yang memberikan prediksi bobot yang lebih akurat dari setiap rencana eksekusi kueri. Meskipun model baru menghilangkan beberapa kemacetan kinerja, ada kemungkinan bahwa itu tidak akan optimal di semua skenario dan beberapa kueri mungkin melambat, sehingga pengguna didorong untuk berpartisipasi dalam pengujian dan memberi tahu pengembang jika ada masalah.

Model sebelumnya bekerja dengan baik untuk menemukan indeks optimal, tetapi bermasalah dengan penerapan pemindaian tabel, pemindaian indeks, atau pengambilan rentang. Pada model baru, kelemahan ini dihilangkan dengan mengubah bobot dasar operasi dengan mesin penyimpanan. Evaluasi performa untuk operasi intensif disk seperti pemindaian tulis berurutan kini menganggap data disimpan di SSD yang mampu membaca 400 MB per detik. Selain itu, parameter bobot pengoptimal lainnya disetel, yang, misalnya, memungkinkan penggunaan indeks untuk operasi ORDER BY/GROUP BY dalam subkueri dan mempercepat pekerjaan dengan tabel yang sangat kecil.

Perlu dicatat bahwa model bobot baru akan memungkinkan pemilihan rencana eksekusi kueri yang lebih optimal dalam situasi berikut:

  • Saat menggunakan kueri yang mencakup lebih dari 2 tabel.
  • Ketika ada indeks yang berisi sejumlah besar nilai identik.
  • Saat menggunakan rentang yang mencakup lebih dari 10% tabel.
  • Saat Anda memiliki kueri kompleks di mana tidak semua kolom yang digunakan diindeks.
  • Saat kueri digunakan yang melibatkan mesin penyimpanan berbeda (misalnya, saat satu kueri berisi akses ke tabel di mesin InnoDB dan Memori).
  • Saat menggunakan FORCE INDEX untuk meningkatkan rencana kueri.
  • Saat rencana kueri memburuk jika menggunakan "ANALYZE TABLE".
  • Saat kueri menjangkau sejumlah besar tampilan (sejumlah besar SELECT bersarang).
  • Saat menggunakan klausa ORDER BY atau GROUP BY yang cocok dengan indeks.

Kerusakan kompatibilitas utama di cabang MariaDB 11:

  • Hak SUPER tidak lagi memungkinkan Anda untuk melakukan tindakan yang tersedia hak istimewanya secara terpisah. Misalnya, mengubah format log biner akan memerlukan hak BINLOG ADMIN.
  • Menghapus implementasi buffer perubahan di InnoDB.
  • Innodb_flush_method dan innodb_file_per_table sudah tidak digunakan lagi.
  • Dukungan untuk nama mysql* sudah tidak digunakan lagi.
  • Pengaturan yang tidak digunakan lagi eksplisit_defaults_for_timestamp ke 0.
  • Tautan simbolik telah dipindahkan ke paket terpisah untuk kompatibilitas dengan MySQL.
  • Nilai parameter innodb_undo_tablespaces telah diubah dari default menjadi 3.

Sumber: opennet.ru

Tambah komentar