大量のデータをApsaraDB RDS for MySQLインスタンスに保存すると、ストレージコストが増加します。 ほとんどの場合、ビジネスデータはコールドデータとホットデータに分けられます。 コールドデータをObject Storage Service (OSS) バケットにアーカイブすると、ストレージコストが大幅に削減されます。
説明
RDSインスタンスの一般的なエンタープライズSSD (ESSD) のデータアーカイブ機能を有効にすると、DDLステートメントを実行して、ESSDとOSSバケット間でデータを変換できます。 データアーカイブ機能を使用すると、OSSバケットにアクセスする頻度が低い大きなテーブルを保存し、ネイティブInnoDBアクセス方法を使用してテーブルからデータを読み取ることができます。 次のDDLステートメントがサポートされています。
次の文を実行して、データをアーカイブできます。
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';
説明ApsaraDB RDS for MySQLでは、テーブル内のすべてのデータをOSSバケットにアーカイブできます。 テーブルをアーカイブすると、テーブルにデータを書き込むことができなくなります。 テーブルに対してSELECT、DROP TABLE、DROP DATABASE、およびRENAME操作を実行できます。
次のステートメントを実行して、データを取得できます。
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"N"}';
ApsaraDB RDS for MySQLでは、アーカイブされたテーブルは完全なInnoDBインデックスを保持し、トランザクションです。 これにより、アーカイブテーブルのオフセットクエリとキャッシュアクセラレーションが可能になり、コールドテーブルアクセスの効率が向上します。
メリット
データアーカイブ機能を有効にすると、OSSの大容量ストレージ、セキュリティ、費用対効果、および高信頼性に基づいて、RDSインスタンスのデータを低コストでOSSバケットに保存できます。 データアーカイブ機能を使用すると、InnoDBトランザクション機能を保持し、アクセス頻度の低いデータを読み取ることができます。 データアーカイブ機能を有効にすると、パフォーマンスレベル1 (PL1) のESSDを使用すると、ストレージコストが80% に低くなります。
クエリのパフォーマンスを向上させたい場合は、I/Oアクセラレーション機能を有効にできます。 詳細については、「一般的なESSDのI/Oアクセラレーション機能の使用」をご参照ください。
適用範囲
エンジン: MySQL
製品タイプ: 標準およびYiTian
ストレージタイプ: 一般的なESSD
説明RDSインスタンスが一般的なESSDを使用していない場合、RDSインスタンスのストレージタイプを一般的なESSDに変更できます。 詳細については、「ApsaraDB RDS For MySQLインスタンスのストレージタイプをESSDから一般的なESSDに変更する」をご参照ください。
ストレージタイプをローカルSSDまたは標準SSDから一般ESSDに変更することはできません。
バージョン: 20240131以降のマイナーエンジンバージョンのMySQL 8.0
エディション: RDS Basic Edition、RDS High-availability Edition、およびRDS Cluster Edition
利用できないリージョン: 韩国 (ソウル) 、オーストラリア (シドニー)サービス終了 、イギリス (ロンドン)
課金ルール
無料のパブリックプレビュー
2024年6月20日から2024年7月25日までのパブリックプレビューでは、この機能を無料で利用できます。 パブリックプレビューが終了すると、OSSバケットにアーカイブされたデータ量に基づいて課金されます。
課金
従量課金の課金方法のみサポートしています。 次の表に、さまざまなRDSエディションを実行するRDSインスタンスの機能の料金を示します。
リージョン | RDS Basicエディション | RDS高可用性エディション | RDS Cluster Edition (ノード数に基づいて計算) |
中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) | GB時間あたりの米ドル0.000032 | GB時間あたりの米ドル0.000065 | GB時間あたりの米ドル0.000032 |
中国 (香港) | GB時間あたりの米ドル0.000034 | GB時間あたりの米ドル0.000068 | GB時間あたりの米ドル0.000034 |
フィリピン (マニラ) と米国 (シリコンバレー) | GB時間あたりの米ドル0.000058 | GB時間あたりの米ドル0.000117 | GB時間あたりの米ドル0.000058 |
日本 (東京) 、シンガポール、インドネシア (ジャカルタ) 、ドイツ (フランクフルト) | GB時間あたりの米ドル0.000034 | GB時間あたりの米ドル0.000068 | GB時間あたりの米ドル0.000034 |
マレーシア (クアラルンプール) | GB時間あたりの米ドル0.000057 | GB時間あたりの米ドル0.000114 | GB時間あたりの米ドル0.000057 |
米国 (バージニア) | GB時間あたりの米ドル0.000054 | GB時間あたりの米ドル0.000108 | GB時間あたりの米ドル0.000054 |
この機能は、タイ (バンコク) 、韓国 (ソウル) 、オーストラリア (シドニー) サービス終了、英国 (ロンドン) 、アラブ首長国連邦 (ドバイ) ではサポートされていません。
制限事項
RDSインスタンスがサーバーレス課金方法を使用している場合、データアーカイブ機能はRDSインスタンスでサポートされていません。
OSSバケットに格納されているテーブルは、SELECT、DROP TABLE、DROP DATABASE、およびRENAME操作をサポートしています。 テーブルのデータをOSSバケットからESSDに転送すると、テーブルはすべての操作をサポートします。
パーティション分割されたテーブル、フルテキストインデックスを含むテーブル、暗号化されたテーブル、外部キーを含むテーブル、および圧縮されたテーブルをOSSバケットに保存することはできません。 テーブル圧縮とページ圧縮を使用するテーブルは、圧縮テーブルと見なされます。
OSSのアクセス遅延により、OSSバケット内のコールドテーブルのアクセス遅延は10 msに達し、ESSDのアクセス遅延よりも長くなります。
RDSインスタンスのアーカイブされたテーブルのサイズは、6 MB未満にすることはできません。
データのアーカイブに使用されるDDLステートメントは、INSTANTアルゴリズムを使用して実行されません。 DDLステートメントの実行期間はテーブルサイズの影響を受け、メタデータロック (MDL) は実行中に保持される可能性があります。
データアーカイブ機能は、インスタンスのバックアップやRDSインスタンスの特定の機能に影響を与える可能性があります。 影響を受ける機能を次の表に示します。
機能
説明
1桁2番目のバックアップ
1桁の2番目のバックアップ機能を有効にする場合は、データアーカイブ機能を無効にする必要があります。 詳細については、「データアーカイブ機能の無効化」をご参照ください。
データアーカイブ機能を有効にする場合は、1桁の2番目のバックアップ機能を無効にする必要があります。
クロスリージョンバックアップ
クロスリージョンバックアップ機能を有効にする場合は、データアーカイブ機能を無効にする必要があります。 詳細については、「データアーカイブ機能の無効化」をご参照ください。
データアーカイブ機能を有効にする場合は、クロスリージョンバックアップ機能を無効にする必要があります。
個々のデータベースとテーブルの復元
データベースを復元する場合は、データベースにアーカイブされていないデータのみを復元できます。
バックアップセットのダウンロード
ダウンロードしたバックアップセットには、アーカイブされていないデータのみが含まれます。
説明データアーカイブ機能を有効にすると、アーカイブされたデータを復元する必要があるため、インスタンスのバックアップまたは復元の速度が低下します。
使用上の注意
OSSストレージと読み取りはメモリリソースを消費します。 データ変換とデータアクセスの速度と頻度を変更する必要があります。
データアーカイブ機能の有効化と無効化
データアーカイブ機能の有効化
ApsaraDB RDS購入ページまたはインスタンス詳細ページでデータアーカイブ機能を有効にできます。
ApsaraDB RDS購入ページ
ストレージタイプパラメーターをGeneral ESSDに設定します。 Configurationパラメーターが表示されます。 [Configuration] パラメーターには、キャッシュ、データ、およびコールドストレージカードが表示されます。 コールドストレージカードでデータアーカイブ機能を有効にできます。
インスタンス詳細ページ
[インスタンス] ページに移動します。 上部のナビゲーションバーで、リージョンを選択します。 次に、データアーカイブ機能の要件を満たすRDSインスタンスのIDをクリックします。
インスタンスの詳細ページで、[一般的なESSDの設定] をクリックします。 表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオンにします。
重要データアーカイブ機能を有効にすると、約30秒間持続する一時的な接続が発生します。
データアーカイブ機能の無効化
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
インスタンスの詳細ページで、[一般的なESSDの設定] をクリックします。 表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオフにします。
重要データアーカイブ機能を無効にすると、約30秒間持続する一時的な接続が発生します。
データアーカイブ機能を無効にする場合は、OSSバケットにアーカイブテーブルが含まれていないことを確認してください。 OSSバケットにアーカイブテーブルが含まれている場合、この機能を無効にすることはできません。 この場合、アーカイブされたテーブルをオンラインテーブルに変換するか、アーカイブされたテーブルに対してDROP操作を実行してから、データアーカイブ機能を無効にする必要があります。
アーカイブデータの表示
コンソールでアーカイブデータを表示します。
[インスタンス] ページに移動します。 上部のナビゲーションバーで、リージョンを選択します。 次に、データアーカイブ機能の要件を満たすRDSインスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、[コールドストレージ管理] をクリックします。 表示されるページの [アーカイブレイヤー設定] セクションで、データアーカイブ機能が有効になっているデータベースを表示します。
SQL文を実行してアーカイブデータを表示します。
SELECT t.NAME AS tablespace_name, SUBSTRING_INDEX(t.NAME, '/', 1) AS database_name, SUBSTRING_INDEX(t.NAME, '/', -1) AS table_name, oss.OSS_OBJECT_NUM * oss.OSS_OBJECT_SIZE AS SIZE_IN_OSS_BYTES FROM information_schema.innodb_tables AS t JOIN information_schema.innodb_tablespaces_oss AS oss ON t.space = oss.space;
関連ドキュメント
Parameters
次の表に、データアーカイブ機能でサポートされているパラメーターを示します。 ビジネス要件に基づいてパラメーター設定を変更できます。 詳細については、「MySQL 8.0を実行するApsaraDB RDSインスタンスでサポートされているパラメーター」をご参照ください。
パラメーター | デフォルト値 | 説明 |
innodb_oss_ddl_threads | 16 |
|
innodb_oss_files_limit | 10240 |
|
innodb_oss_プリフェッチ | ON |
|
innodb_oss_prefetch_linear_pct_threshold | 10% |
|
innodb_oss_prefetch_random_pct_threshold | 30% |
|
innodb_oss_prefetch_task_limit | 32 |
|
oss_max_connections | 64 |
|
よくある質問
RDSインスタンスでALTER
ステートメントを実行すると、[OSS] テーブルサイズが6291456未満
のエラーメッセージが表示されるのはなぜですか。
RDSインスタンス上のアーカイブされたテーブルのデータサイズは、6 MB未満にすることはできません。