Amazon RDS での MariaDB 機能のサポート - Amazon Relational Database Service

Amazon RDS での MariaDB 機能のサポート

RDS for MariaDB は MariaDB のほとんどの特徴と機能をサポートしています。一部の機能には、制限付きのサポートまたは制限された特権があります。

[What's New with Database?] (データベースの新機能) ページで新しい Amazon RDS 機能をフィルタリングできます。[製品] で [Amazon RDS] を選択します。その後、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_NUMBERSFORMAT、および RANDOM_BYTESSFORMAT を使用して、文字列の書式設定を可能にできるようになりました。これはデフォルトで有効になっています。1 つのコマンドでパーティションをテーブルに、テーブルをパーティションに変換できます。JSON_*() 関数に関して他にもいくつかの改善点があります。DES_ENCRYPTDES_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 は自動的に新しいパーティションを作成します。

  • アトミック DDLCREATE OR REPLACE がアトミックになりました。ステートメントは連続するか、完全に反転するかのどちらかです。

  • ログの書き込みをやり直す — ログの書き込みを非同期でやり直します。

  • ストアド関数 — ストアド関数が、ストアドプロシージャと同じINOUT、と INOUT パラメータをサポートするようになりました。

  • 非推奨または削除されたパラメータ — 次のパラメータは、MariaDB バージョン 10.11 DB インスタンスに対して廃止または削除されました。

  • ダイナミックパラメータ — 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスに対して動的になりました。

  • パラメータの新しいデフォルト値 – 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスの新しいデフォルト値があります。

  • パラメータの新しい有効値 – 次のパラメータには、MariaDB バージョン 10.11 DB インスタンスの新しい有効値があります。

    • old パラメータの有効値が、old_mode パラメータの有効値に統合されました。

    • 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 インスタンスに対して新しくなりました。

すべての機能とドキュメントのリストについては、MariaDB Web サイトの以下の情報を参照してください。

サポートされない機能の一覧については、「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 TABLEALTER TABLERENAME TABLEDROP TABLEDROP 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」(MariaDB 10.6 の変更点と改善点) および「Release notes - MariaDB 10.6 series」(リリースノート - 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 倍にします。パラメータの変更については、「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 インスタンスの新しいデフォルト値があります。

MariaDB 10.5 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.5 の変更点と改善点」および「リリースノート - MariaDB 10.5 シリーズ」を参照してください。

サポートされない機能の一覧については、「Amazon RDS でサポートされていない MariaDB の機能」を参照してください。

Amazon RDS での MariaDB 10.4 のサポート

Amazon RDS は、MariaDB バージョン 10.4 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。

MariaDB 10.4 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.4 の変更点と改善点」および「リリースノート - 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 の変更点と改善点」および「リリースノート - 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 のパラメータ および 「パラメータグループを使用する」 を参照してください。

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 パラメータのみ変更できます。

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 インスタンスの新しいパラメータグループを作成することが必要になる場合があります。パラメータグループについては、「「パラメータグループを使用する」 」を参照してください。

キャッシュウォームアップは、主に、スタンダードストレージを使用する 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 のドキュメントの「イベント」を参照してください。

オンデマンドでのバッファプールのダンプとロード

次のストアドプロシージャを使用して、 キャッシュをオンデマンドで格納しロードできます。

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 インスタンスに対するダイレクトホストアクセスは行えません。