すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:一般的なESSDのデータアーカイブ機能を使用する

最終更新日:Nov 05, 2024

大量のデータをApsaraDB RDS for MySQLインスタンスに保存すると、ストレージコストが増加します。 ほとんどの場合、ビジネスデータはコールドデータとホットデータに分けられます。 コールドデータをObject Storage Service (OSS) バケットにアーカイブすると、ストレージコストが大幅に削減されます。

説明

RDSインスタンスの一般的なエンタープライズSSD (ESSD) のデータアーカイブ機能を有効にすると、DDLステートメントを実行して、ESSDとOSSバケット間でデータを変換できます。 データアーカイブ機能を使用すると、OSSバケットにアクセスする頻度が低い大きなテーブルを保存し、ネイティブInnoDBアクセス方法を使用してテーブルからデータを読み取ることができます。 次のDDLステートメントがサポートされています。

  1. 次の文を実行して、データをアーカイブできます。

    ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';
    説明

    ApsaraDB RDS for MySQLでは、テーブル内のすべてのデータをOSSバケットにアーカイブできます。 テーブルをアーカイブすると、テーブルにデータを書き込むことができなくなります。 テーブルに対してSELECT、DROP TABLE、DROP DATABASE、およびRENAME操作を実行できます。

  2. 次のステートメントを実行して、データを取得できます。

    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

    説明
  • バージョン: 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購入ページ

  1. ApsaraDB RDS購入ページに移動する.

  2. ストレージタイプパラメーターをGeneral ESSDに設定します。 Configurationパラメーターが表示されます。 [Configuration] パラメーターには、キャッシュ、データ、およびコールドストレージカードが表示されます。 コールドストレージカードでデータアーカイブ機能を有効にできます。

    image

インスタンス詳細ページ

  1. [インスタンス] ページに移動します。 上部のナビゲーションバーで、リージョンを選択します。 次に、データアーカイブ機能の要件を満たすRDSインスタンスのIDをクリックします。

  2. インスタンスの詳細ページで、[一般的なESSDの設定] をクリックします。 表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオンにします。

    image

    重要

    データアーカイブ機能を有効にすると、約30秒間持続する一時的な接続が発生します。

データアーカイブ機能の無効化

  1. ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。

  2. インスタンスの詳細ページで、[一般的なESSDの設定] をクリックします。 表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオフにします。

    image

    重要
    • データアーカイブ機能を無効にすると、約30秒間持続する一時的な接続が発生します。

    • データアーカイブ機能を無効にする場合は、OSSバケットにアーカイブテーブルが含まれていないことを確認してください。 OSSバケットにアーカイブテーブルが含まれている場合、この機能を無効にすることはできません。 この場合、アーカイブされたテーブルをオンラインテーブルに変換するか、アーカイブされたテーブルに対してDROP操作を実行してから、データアーカイブ機能を無効にする必要があります。

アーカイブデータの表示

  1. コンソールでアーカイブデータを表示します。

    1. [インスタンス] ページに移動します。 上部のナビゲーションバーで、リージョンを選択します。 次に、データアーカイブ機能の要件を満たすRDSインスタンスのIDをクリックします。

    2. 左側のナビゲーションウィンドウで、[コールドストレージ管理] をクリックします。 表示されるページの [アーカイブレイヤー設定] セクションで、データアーカイブ機能が有効になっているデータベースを表示します。

  2. 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

  • アーカイブデータの制御ブロックの数。 制御ブロックはメモリにキャッシュされる。

  • データをOSSバケットにアーカイブすると、ESSDのテーブルがデータファイルブロックに分割され、OSSバケットにアップロードされます。 各データファイルブロックのテーブルスペースおよびデータ範囲は、対応する制御ブロックに格納される。 制御ブロックはメモリに格納される。 制御ブロックは、アーカイブされたデータによって要求されたオフセットを迅速に識別し、LRUアルゴリズムを使用することによってキャッシュ制御を実行するために使用される。

innodb_oss_プリフェッチ

ON

  • アーカイブデータをプリフェッチするかどうかを指定します。

  • このパラメーターをONに設定すると、線形プリフェッチまたはランダムプリフェッチの要件が満たされている場合、アーカイブされたすべてのデータファイルブロックがバッファプールにキャッシュされます。 これにより、OSSへのアクセス頻度が減り、アクセス効率が向上します。

innodb_oss_prefetch_linear_pct_threshold

10%

  • アーカイブデータの線形プリフェッチしきい値。

  • アーカイブされたデータブロック内の連続読み取りページ数がしきい値に達すると、OSSはアーカイブされたデータファイルブロック全体をバッファプールに直接キャッシュします。

innodb_oss_prefetch_random_pct_threshold

30%

  • アーカイブデータのランダムプリフェッチしきい値。

  • アーカイブされたデータブロック内のランダムに読み取られたページ数がしきい値に達すると、OSSはアーカイブされたデータファイルブロック全体をバッファプールに直接キャッシュします。

innodb_oss_prefetch_task_limit

32

  • プリフェッチキャッシュタスクの上限。

  • アーカイブされたデータファイルブロックがバッファプールに完全にキャッシュされる前に、アーカイブされたデータファイルブロックを格納するために追加のメモリリソースが必要とされる。 大きな値は、高いメモリ消費を引き起こす可能性がある。

oss_max_connections

64

  • RDSインスタンスがOSSバケットにアクセスするときに許可されるHTTP接続の最大数。

  • 並行性の高いシナリオでは、値が大きいとOSSバケットへのアクセスが高速化されます。 ただし、値が大きいと、CPU消費量、メモリ消費量、帯域幅消費量が高くなります。

よくある質問

RDSインスタンスでALTERステートメントを実行すると、[OSS] テーブルサイズが6291456未満のエラーメッセージが表示されるのはなぜですか。

RDSインスタンス上のアーカイブされたテーブルのデータサイズは、6 MB未満にすることはできません。