MariaDB Server 10.5は、2020年6月24日にリリースされたMariaDBの新しい、新しい、安定したバージョンです。それがもたらす機能を見てみましょう。
MariaDB 10.5では、特権に関するいくつかの変更が予定されています。主に、SUPER特権はいくつかの新しい特権に分割され、特定のユーザーに許可されるアクションと許可されないアクションをよりきめ細かく制御できるようになりました。以下は、MariaDB10.5で使用できる新しい特権のリストです。
- BINLOG ADMIN
- BINLOGリプレイ
- READ_ONLY ADMIN
InnoDBのパフォーマンスの向上
MariaDB 10.5には、InnoDBのパフォーマンス改善のリストが付属しています。知っておくべき重要なことは、MariaDB10.5にはMariaDB10.4からInnoDBが組み込まれているということです。パフォーマンスの変更と改善が行われる予定ですが、InnoDBのコアはMariaDB10.4と同じです。これは、MariaDBが選択したパスがパフォーマンスの観点からどのようにもたらされるかを確認するのに非常に興味深いものです。一方では、古いバージョンに固執することで、MariaDBのリリースサイクルを高速化できます。まったく新しいInnoDBをMariaDBに移植することは非常に困難であり、正直なところ、実現可能ではない可能性があります。 MariaDBはますますアップストリームとの互換性がなくなることに注意してください。バイナリを交換するだけですべてが問題なく機能する前回のビルドからしばらく経ちました。
MariaDBは、暗号化や圧縮などの一連の機能を開発したため、これらの実装に互換性がありません。一方、新しいInnoDBは、MariaDB10.4よりも大幅に優れたパフォーマンスを示しています。以前のバージョンよりもスケーラブルにするために、多くのコード行が記述されています(そして、多くのコード行が削除されています)。 MariaDB10.5がそのコンカレントを上回ることができるかどうかを確認することは非常に興味深いでしょう。
これはMariaDBWebサイトで見つけることができるため、詳細については説明しません。いくつかの変更点について説明します。 InnoDB REDOログでは、より効率的な作業が行われています。 InnoDBバッファープールも改善され、複数のバッファープールを作成するオプションが不要になったため削除されました。修正を目的としたパフォーマンスの課題は、10.5ですでに修正されているため、このオプションは不要です。
覚えておくべき重要なことは、10.5のInnoDBは、変更により、10.4のInnoDBと互換性がなくなるということです。アップグレードは一方向のみであるため、それに応じてアップグレードプロセスを計画する必要があります。
Galera Clusterは、GTIDを完全にサポートするMariaDB10.5で提供されます。これにより、Galera Clusterと非同期レプリケーションの混合がよりシームレスになり、問題が少なくなります。
レプリケーションについて言えば、MariaDB10.5はバイナリログメタデータを改善しました。複製されるデータに関する詳細情報が付属しています:
- SET列の文字列値
- ENUM列の文字列値
- SET列とENUM列の文字セット
これは、マスターとスレーブに異なるスキーマがある場合にレプリケーションの問題を回避するのに役立ちます。
SQL構文のいくつかの変更がMariaDB10.5で導入されました。 INTERSECTを使用すると、2つのSELECTステートメントによって返される行を生成するクエリを作成できます。 MariaDB 10.5では、INTERSECT ALLが追加されました。これにより、重複した値を持つ結果セットを返すことができます。同様に、EXCEPTが拡張され、EXCEPTALLが可能になりました。
ALTER構文にいくつかの変更が加えられました。ALTERTABLE…RENAMECOLUMNを使用して列の名前を変更できるようになりました。 ALTERTABLE…RENAMEKEY構文を使用してインデックスの名前を変更することもできます。非常に重要なことは、ALTERTABLEとRENAMETABLEの両方がIFEXISTSのサポートを受けており、レプリケーション処理の観点から間違いなく役立ちます。
MySQL5.7に一致するパフォーマンススキーマの更新
パフォーマンススキーマテーブルが更新され、MySQL5.7のパフォーマンススキーマと同等になります。これは、メモリ、メタデータロック、プリペアドステートメント、ストアドプロシージャ、ロック、トランザクション、およびユーザー変数に関連するインストルメンテーションの変更を意味します。
最後になりましたが、バイナリが「mysql」から「mariadb」に変更されました。ただし、古い命名規則は、既存のスクリプトやツールとの互換性を維持するために引き続き使用できます。
その上、他のいくつかの変更が導入されました。 JSON配列とオブジェクトの集計関数、接続プールのインストルメンテーションの改善、クエリオプティマイザーの改善、または正規表現用の新しいバージョンのライブラリへの移行。 S3との統合も導入されました。MariaDB10.5内からS3バケットからデータを読み取ることができます。
この新しいMariaDBバージョンが本番環境でどのように表示されるかを楽しみにしています。試してみたい場合は、MariaDBWebサイトで移行手順を入手できます