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