Amazon RDS での MariaDB 機能のサポート
RDS for MariaDB は MariaDB のほとんどの特徴と機能をサポートしています。一部の機能には、制限付きのサポートまたは制限された特権があります。
[What's New with Database?MariaDB 2023
などのキーワードを使用して検索します。
注記
以下のリストは完全なものではありません。
トピック
Amazon RDS for MariaDB のメジャーバージョンでの MariaDB 機能のサポート
次のセクションでは、Amazon RDS for MariaDB のメジャーバージョンでの MariaDB 機能のサポートに関する情報について説明しています。
トピック
Amazon RDS for MariaDB のサポートされているマイナーバージョンについては、「Amazon RDS の MariaDB のバージョン」を参照してください。
Amazon RDS での MariaDB 10.11 のサポート
Amazon RDS は、MariaDB バージョン 10.11 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。
-
パスワード再利用チェックプラグイン — MariaDB パスワード再利用チェックプラグインを使用して、ユーザーがパスワードを再利用できないようにしたり、パスワードの保持期間を設定したりできます。詳細については、「パスワード再利用チェックプラグイン
」を参照してください。 -
GRANT TO PUBLIC 認証 — サーバーにアクセスできるすべてのユーザーに、権限を付与できます。詳細については、「GRANT TO PUBLIC
」を参照してください。 -
SUPER と READ ONLY ADMIN 権限の分離 — 以前に SUPER 権限を持っていたユーザーも含め、すべてのユーザーから READ ONLY ADMIN 権限を削除できます。
-
セキュリティ — MariaDB クライアントのデフォルトとしてオプション
--ssl
を設定できるようになりました。MariaDB は、設定が正しくない場合でも SSL をサイレントに無効にすることがなくなりました。 -
SQL コマンドと関数 —
SHOW ANALYZE FORMAT=JSON
コマンドと関数ROW_NUMBER
、SFORMAT
、およびRANDOM_BYTES
、SFORMAT
を使用して、文字列の書式設定を可能にできるようになりました。これはデフォルトで有効になっています。1 つのコマンドでパーティションをテーブルに、テーブルをパーティションに変換できます。JSON_*()
関数に関して他にもいくつかの改善点があります。DES_ENCRYPT
とDES_DECRYPT
関数はバージョン 10.10 以降では廃止されました。詳細については、「SFORMAT」を参照してください。 -
InnoDB の機能強化 — これらの機能には、次の項目があります。
-
REDO ログのパフォーマンスが向上し、書き込みの増幅が減り、同時実行性が向上しました。
-
データディレクトリを再初期化しなくても、UNDO テーブルスペースを変更できるようになりました。この機能強化により、コントロールプレーンのオーバーヘッドが軽減されます。再起動は必要ですが、undo テーブルスペースを変更した後に再初期化する必要はありません。
-
CHECK TABLE … EXTENDED
および内部での降順インデックスのサポート。 -
一括挿入が改善されました。
-
-
バイナリログの変更 — これらの変更には、次の項目があります。
-
2 つのフェーズに
ALTER
のログを記録することにより、レプリケーションのレイテンシーを減少させます。binlog_alter_two_phase
パラメータはデフォルトでは無効になっていますが、パラメータグループを通じて有効にできます。 -
explicit_defaults_for_timestamp
のログ記録。 -
トランザクションを安全にロールバックできる場合、
INCIDENT_EVENT
のログ記録は行われなくなりました。
-
-
レプリケーションの改善 — MariaDB バージョン 10.11 DB インスタンスは、デフォルトで GTID レプリケーションを使用します (マスターがサポートしている場合)。また、
Seconds_Behind_Master
はより正確です。 -
クライアント —
mysqlbinglog
およびmariadb-dump
の新しいコマンドラインオプションを使用できます。mariadb-dump
を使用して、履歴データをダンプして復元できます。 -
システムバージョン管理 — 履歴を変更できます。MariaDB は自動的に新しいパーティションを作成します。
-
アトミック DDL —
CREATE OR REPLACE
がアトミックになりました。ステートメントは連続するか、完全に反転するかのどちらかです。 -
ログの書き込みをやり直す — ログの書き込みを非同期でやり直します。
-
ストアド関数 — ストアド関数が、ストアドプロシージャと同じ
IN
、OUT
、とINOUT
パラメータをサポートするようになりました。 -
非推奨または削除されたパラメータ — 次のパラメータは、MariaDB バージョン 10.11 DB インスタンスに対して廃止または削除されました。
-
ダイナミックパラメータ — 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスに対して動的になりました。
-
パラメータの新しいデフォルト値 – 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスの新しいデフォルト値があります。
-
explicit_defaults_for_timestamp
パラメータのデフォルト値が、 OFF
からON
に変更されました。 -
optimizer_prune_level
パラメータのデフォルト値が、 1
から2
に変更されました。
-
-
パラメータの新しい有効値 – 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスの新しい有効値があります。
-
histogram_type
パラメータの有効値に、 JSON_HB
が含まれるようになりました。 -
innodb_log_buffer_size
パラメータの有効値の範囲が、 262144
から4294967295
(256 キロバイトから 4096 メガバイト) になりました。 -
innodb_log_file_size
パラメータの有効値の範囲が、 4194304
から512GB
(4 メガバイトから 512 ギガバイト) になりました。 -
optimizer_prune_level
パラメータの有効値に、 2
が含まれるようになりました。
-
新しいパラメータ — 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスに対して新しくなりました。
-
binlog_alter_two_phase
パラメータは、レプリケーションパフォーマンスを改善できます。 -
log_slow_min_examined_row_limit
は、パフォーマンスを改善できます。 -
log_slow_query
パラメータと log_slow_query_file パラメータは、 slow_query_log
とslow_query_log_file
それぞれのエイリアスです。
-
すべての機能とドキュメントのリストについては、MariaDB Web サイトの以下の情報を参照してください。
バージョン | 改善点と変更点 | リリースノート |
---|---|---|
MariaDB 10.7 |
||
MariaDB 10.8 |
||
MariaDB 10.9 |
||
MariaDB 10.10 |
||
MariaDB 10.11 |
サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。
Amazon RDS での MariaDB 10.6 のサポート
Amazon RDS は、MariaDB バージョン 10.6 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。
-
MyRocks ストレージエンジン – MyRocks ストレージエンジンを RDS for MariaDB とともに使用して、書き込み負荷の高い高性能ウェブアプリケーションのストレージ消費を最適化できます。詳細については、「Amazon RDS の MariaDB でサポートされているストレージエンジン」と「MyRocks
」を参照してください。 -
AWS Identity and Access ManagementIAM DB authentication (IAM データベース認証) – IAM DB 認証を使用して、MariaDB DB インスタンスへの接続のセキュリティを強化し、一元管理できます。詳細については、「MariaDB、MySQL、および PostgreSQL の IAM データベース認証」を参照してください。
-
アップグレードオプション – 以前のメジャーリリース (10.3、10.4、10.5) から RDS for MariaDB バージョン 10.6 にアップグレードできるようになりました。既存の MySQL 5.6 または 5.7 DB インスタンスのスナップショットを MariaDB 10.6 インスタンスに復元することもできます。(詳しくは、「MariaDB DB エンジンのアップグレード」を参照してください。)
-
レプリケーションの遅延 – リードレプリカがソースデータベースより遅延する時間を設定できるようになりました。標準の MariaDB レプリケーション設定では、ソースとレプリカ間のレプリケーション遅延は最小限に抑えられます。レプリケーションの遅延では、災害対策用の戦略として意図的に遅延を設定できます。詳細については、「MariaDB での遅延レプリケーションの設定」を参照してください。
-
Oracle PL/SQL の互換性 – RDS for MariaDB バージョン 10.6 を使用すると、レガシー Oracle アプリケーションを Amazon RDS にさらに簡単に移行できます。詳細については、「SQL_MODE=ORACLE
」を参照してください。 -
アトミック DDL – RDS for MariaDB バージョン 10.6 では、動的データ言語 (DDL) ステートメントは比較的クラッシュセーフです。
CREATE TABLE
、ALTER TABLE
、RENAME TABLE
、DROP TABLE
、DROP DATABASE
、および関連する DDL ステートメントがアトミックになりました。ステートメントは連続するか、完全に反転するかのどちらかです。詳細については、「Atomic DDL」(アトミック DDL) を参照してください。 -
その他の機能強化 – SQL 内で JSON データをリレーショナル形式に変換する
JSON_TABLE
関数や、Innodb による空のテーブルデータのロードの高速化などの機能強化が行われました。また、分析とトラブルシューティングのための新しいsys_schema
、未使用のインデックスを無視するためのオプティマイザの機能強化、およびパフォーマンスの向上も行いました。詳細については、「JSON_TABLE」を参照してください。 -
パラメータの新しいデフォルト値 – 次のパラメータには、MariaDB バージョン 10.6 DB インスタンスの新しいデフォルト値があります。
-
次のパラメータのデフォルト値が
utf8
からutf8mb3
に変更されました。これらのパラメータのデフォルト値は変更されていますが、機能の変更はありません。詳細については、MariaDB ドキュメントの「Supported Character Sets and Collations
」(サポートされている文字セットと照合順序) を参照してください。 -
collation_connection
パラメータのデフォルト値が utf8_general_ci
からutf8mb3_general_ci
に変更されました。このパラメータのデフォルト値は変更されていますが、機能の変更はありません。 -
old_mode
パラメータのデフォルト値が未設定から UTF8_IS_UTF8MB3
に変更されました。このパラメータのデフォルト値は変更されていますが、機能の変更はありません。
-
MariaDB 10.6 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「Changes and improvements in MariaDB 10.6
サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。
Amazon RDS での MariaDB 10.5 のサポート
Amazon RDS は、MariaDB バージョン 10.5 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。
-
InnoDB の強化 - MariaDB バージョン 10.5 には、InnoDB の機能強化が含まれています。詳細については、MariaDB ドキュメントの「 InnoDB: パフォーマンスの改善など
」を参照してください。 -
Performance Schemaの更新 - MariaDB バージョン 10.5 には、Performance Schemaの更新が含まれています。詳細については、MariaDB ドキュメントの「MySQL 5.7 インストルメンテーションとテーブルと一致する Performance Schema の更新
」を参照してください。 -
InnoDB 再実行ログ内の 1 つのファイル - MariaDB のバージョン 10.5 より前のバージョンでは、
innodb_log_files_in_group
パラメータの値が2
に設定されていました。MariaDB バージョン 10.5 では、このパラメータの値は1
に設定されます。以前のバージョンから MariaDB バージョン 10.5 にアップグレードし、パラメータを変更しない場合、
innodb_log_file_size
パラメータ値は変更されません。ただし、2 つのログファイルではなく 1 つのログファイルに適用されます。その結果、アップグレードされた MariaDB バージョン 10.5 DB インスタンスは、アップグレード前に使用していた再実行ログサイズの半分を使用します。この変更は、パフォーマンスに顕著な影響を与える可能性があります。この問題に対処するには、innodb_log_file_size
パラメータの値を 2 倍にします。パラメータの変更については、「Amazon RDS の DB パラメータグループのパラメータの変更」を参照してください。 -
SHOW SLAVE STATUS コマンドはサポートされていません。- MariaDB のバージョン 10.5 より前のバージョンでは、
SHOW SLAVE STATUS
コマンドにREPLICATION SLAVE
特権が必要でした。MariaDB バージョン 10.5 では、同等のSHOW REPLICA STATUS
コマンドにREPLICATION REPLICA ADMIN
権限が必要です。この新しい特権は RDS マスターユーザーに付与されません。SHOW REPLICA STATUS
コマンドを使用する代わりに、新しいmysql.rds_replica_status
保存済み手順を実行して、同様の情報を返します。詳細については、「mysql.rds_replica_status」を参照してください。 -
SHOW RELAYLOG EVENTS コマンドはサポートされていません。-MariaDB のバージョン 10.5 より前のバージョンでは、
SHOW RELAYLOG EVENTS
コマンドにはREPLICATION SLAVE
特権が必要でした。MariaDB バージョン 10.5 では、このコマンドにはREPLICATION REPLICA ADMIN
特権が必要です。この新しい特権は RDS マスターユーザーに付与されません。 -
パラメータの新しいデフォルト値 - 次のパラメータには、MariaDB バージョン 10.5 DB インスタンスの新しいデフォルト値があります。
-
max_connections
パラメータのデフォルト値が LEAST({DBInstanceClassMemory/25165760},12000)
に変更されました。LEAST
パラメータ関数の詳細については、「DB パラメータ関数」を参照してください。 -
innodb_adaptive_hash_index
パラメータのデフォルト値が OFF
(0
) に変更されました。 -
innodb_checksum_algorythm
のパラメータのデフォルト値が full_crc32
に変更されました。 -
innodb_log_file_size
パラメータのデフォルト値が 2 GB に変更されました。
-
MariaDB 10.5 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.5 の変更点と改善点
サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。
Amazon RDS での MariaDB 10.4 のサポート
Amazon RDS は、MariaDB バージョン 10.4 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。
-
ユーザーアカウントのセキュリティの強化 - パスワードの有効期限
とアカウントのロック の改善 -
オプティマイザの機能強化 - オプティマイザのトレース機能
-
InnoDB の機能強化 - インスタント DROP COLUMN のサポート
と VARCHAR
およびROW_FORMAT=DYNAMIC
に対するROW_FORMAT=COMPACT
のエクステンション -
新しいパラメータ - tcp_nodedelay
、tls_version 、および gtid_cleanup_batch_size を含む
MariaDB 10.4 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.4 の変更点と改善点
サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。
Amazon RDS での MariaDB 10.3 のサポート
Amazon RDS は、MariaDB バージョン 10.3 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。
-
Oracle 互換機能 - PL/SQL 互換性パーサ、シーケンス、UNION を補完する INTERSECT と EXCEPT、新しい TYPE OF と ROW TYPE OF 宣言、および非表示のコラム
-
テンポラリデータ処理 - データベースの過去および現在の状態を照会するためのシステムバージョンテーブル
-
柔軟性 - ユーザー定義による定義、ストレージから独立したコラム圧縮、プロキシがクライアント IP アドレスをサーバーへ中継するプロキシプロトコルのサポート。
-
管理しやすさ - ADD COLUMN の即時オペレーション、ファストフェイルなデータ定義言語 (DDL) オペレーション。
MariaDB 10.3 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.3 の変更点と改善点
サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。
Amazon RDS の MariaDB でサポートされているストレージエンジン
RDS for MariaDB では、次のストレージエンジンがサポートされています。
他のストレージエンジンは現在、RDS for MariaDB ではサポートされていません。
InnoDB ストレージエンジン
MariaDB では様々な機能を持つ複数のストレージエンジンがサポートされていますが、それらすべてがリカバリとデータ耐久性に最適化されているわけではありません。InnoDB は、Amazon RDS での MariaDB DB インスタンスについて推奨されているストレージエンジンです。Amazon RDS でのポイントインタイムの復元やスナップショット復元などの機能には、回復可能なストレージエンジンが必要であり、MariaDB バージョンで推奨された ストレージエンジンのみがサポートされています。
詳細については、「InnoDB
MyRocks ストレージエンジン
MyRocks ストレージエンジンは RDS で MariaDB バージョン 10.6 以降で使用可能です。MyRocks ストレージエンジンを本番データベースで使用する前に、徹底したベンチマークとテストを実行して、ユースケースに対する InnoDB の潜在的な利点を検証することをお勧めします。
MariaDB バージョン 10.6 のデフォルトのパラメータグループには MyRocks パラメータが含まれています。詳細については、MariaDB のパラメータおよびAmazon RDS のパラメータグループを参照してください。
MyRocks ストレージエンジンを使用するテーブルを作成するには、CREATE TABLE
ステートメントに ENGINE=RocksDB
を指定します。次の例では、MyRocks ストレージエンジンを使用するテーブルを作成します。
CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;
InnoDB テーブルと MyRocks テーブルの両方にまたがるトランザクションを実行しないことを強くお勧めします。MariaDB は、ストレージエンジン間のトランザクションに対して ACID (不可分性、整合性、分離性、耐久性) を保証するものではありません。DB インスタンスに InnoDB テーブルと MyRocks テーブルの両方を含めることは可能ですが、一方のストレージエンジンから別のストレージエンジンへの移行中を除き、この方法はお勧めしません。InnoDB テーブルと MyRocks テーブルの両方が DB インスタンスに存在する場合、各ストレージエンジンには独自のバッファプールがあり、パフォーマンスが低下する可能性があります。
MyRocks では SERIALIZABLE
アイソレーションまたはギャップロックはサポートされていません。したがって、一般的に MyRocks をステートメントベースのレプリケーションで使用することはできません。詳細については、「MyRocks and Replication
現在、次の MyRocks パラメータのみ変更できます。
MyRocks ストレージエンジンと InnoDB ストレージエンジンは、rocksdb_block_cache_size
および innodb_buffer_pool_size
パラメータの設定により競合する可能性があります。場合によっては、特定の DB インスタンスで MyRocks ストレージエンジンのみを使用したいことがあります。その場合は、innodb_buffer_pool_size minimal
パラメータを最小値に設定し、rocksdb_block_cache_size
をできる限り高く設定することをお勧めします。
DescribeDBLogFiles
および DownloadDBLogFilePortion
オペレーションを使用して MyRocks ログファイルにアクセスできます。
MyRocks の詳細については、MariaDB のウェブサイトの「MyRocks
Amazon RDS での MariaDB のキャッシュウォームアップ
InnoDB キャッシュウォームアップでは、DB インスタンスがシャットダウンされたときのバッファプールの最新の状態を保存し、DB インスタンスが起動されたときに保存された情報からバッファプールを再ロードすることによって、MariaDB DB インスタンスのパフォーマンスを向上させることができます。このアプローチにより、通常のデータベースの使用からバッファプールを「ウォームアップする」必要がなくなり、既知の一般的なクエリのページを使用してバッファプールを事前にロードします。キャッシュウォームアップの詳細については、MariaDB ドキュメントの「バッファプールのダンプと復元
MariaDB 10.3 以上の DB インスタンスでは、キャッシュウォームアップはデフォルトで有効になっています。有効にするには、DB インスタンスのパラメータグループで innodb_buffer_pool_dump_at_shutdown
および innodb_buffer_pool_load_at_startup
パラメータを 1 に設定します。パラメータグループのこれらのパラメータ値を変更すると、パラメータグループを使用するすべての MariaDB DB インスタンスに影響します。特定の MariaDB DB インスタンスの キャッシュウォームアップを有効にするには、それらの DB インスタンスの新しいパラメータグループを作成することが必要になる場合があります。パラメータグループについては、「Amazon RDS のパラメータグループ」を参照してください。
キャッシュウォームアップは、主に、スタンダードストレージを使用する DB インスタンスにパフォーマンス上のメリットをもたらします。PIOPS ストレージを使用する場合、一般的に大きなパフォーマンス上のメリットは見られません。
重要
フェイルオーバー時など、MariaDB DB インスタンスが正常にシャットダウンしなかった場合、バッファプールの状態はディスクに保存されません。この場合、DB インスタンスが再開されるときに、MariaDB は利用可能なバッファプールファイルをロードします。特に害はありませんが、復元済みバッファプールは、再起動前のバッファプールの最新の状態を反映していない可能性があります。スタートアップ時に キャッシュをウォームアップするために、バッファプールの最新の状態を利用できるように、定期的に「オンデマンド」でバッファプールをダンプすることをお勧めします。バッファプールをオンデマンドでダンプまたはロードできます。
自動で定期的にバッファプールをダンプするイベントを作成できます。例えば、次のステートメントは、1 時間ごとにバッファプールをダンプする periodic_buffer_pool_dump
という名前のイベントを作成します。
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();
詳細については、MariaDB のドキュメントの「イベント
オンデマンドでのバッファプールのダンプとロード
次のストアドプロシージャを使用して、 キャッシュをオンデマンドで格納しロードできます。
バッファプールの現在の状態をディスクにダンプするには、mysql.rds_innodb_buffer_pool_dump_now ストアドプロシージャを呼び出します。
バッファプールの保存された状態をディスクからロードするには、mysql.rds_innodb_buffer_pool_load_now ストアドプロシージャを呼び出します。
進行中のロードオペレーションをキャンセルするには、mysql.rds_innodb_buffer_pool_load_abort ストアドプロシージャを呼び出します。
Amazon RDS でサポートされていない MariaDB の機能
以下の MariaDB 機能は、Amazon RDS ではサポートされていません。
-
S3 ストレージエンジン
-
認証用プラグイン - GSSAPI
-
認証用プラグイン - Unix ソケット
-
AWS Key Management 暗号化プラグイン
-
10.6 より前のバージョンの MariaDB の遅延レプリケーション
-
InnoDB および Aria で保管時のネイティブ MariaDB 暗号化
MariaDB DB インスタンス用に保管時の暗号化を有効にするには、「Amazon RDS リソースの暗号化」の指示に従います。
-
HandlerSocket
-
10.6 より前のバージョンの MariaDB の JSON テーブルタイプ
-
MariaDB ColumnStore
-
MariaDB Galera クラスター
-
マルチ出典レプリケーション
-
10.6 より前のバージョンの MariaDB の MyRocks ストレージエンジン
-
パスワード検証プラグイン、
simple_password_check
、およびcracklib_password_check
-
Spider ストレージエンジン
-
Sphinx ストレージエンジン
-
TokuDB ストレージエンジン
-
MariaDB ドキュメントの「エンジン定義の新しいテーブル/フィールド/インデックス属性
」で説明されている、ストレージエンジン固有のオブジェクト属性。 -
テーブルとテーブルスペースの暗号化
-
Hashicorp Key Management プラグイン
-
2 つのアップグレードを平行実行
マネージド型サービスの操作性を実現するために、Amazon RDS では DB インスタンスへのシェルアクセスはできません。また、上位の権限を必要とする特定のシステムプロシージャやシステムテーブルへのアクセスが制限されます。Amazon RDS は、任意のスタンダード SQL クライアントアプリケーションによる、DB インスタンス上のデータベースへのアクセスがサポートされています。Amazon RDS では、Telnet、Secure Shell (SSH)、または Windows のリモートデスクトップ接続を使用しての、DB インスタンスに対するダイレクトホストアクセスは行えません。