クラウドディスクを使用する ApsaraDB RDS for PostgreSQL インスタンスのデータテーブルは、企業向け SSD(ESSD)に保存されます。 RDS インスタンスに大量のデータを保存すると、ストレージコストが増加します。ほとんどの場合、RDS インスタンスのデータには、ホットデータとコールドデータが含まれています。データアーカイブ機能を使用すると、コールドデータを Object Storage Service(OSS)バケットにアーカイブできるため、ストレージコストを大幅に削減できます。
機能の説明
RDS インスタンスは、表領域と外部ファイルシステムを使用して OSS バケットにアクセスします。 DDL 文を実行して、ESSD と OSS バケット間でデータを転送できます。 RDS インスタンスのデータアーカイブ機能を有効にすると、/cold-data という名前のディレクトリが生成され、新しいディレクトリの表領域は rds_oss になります。 /data ディレクトリは既存のディレクトリです。 rds_oss 表領域のデータは OSS バケットに保存され、pg_default 表領域のデータは ESSD に保存されます。
RDS インスタンスのデータアーカイブ機能を有効にした後、次の DDL 文を実行して、ESSD と OSS バケット間でデータを転送できます。データ転送は、標準テーブルと子パーティションテーブルに適しています。データ転送中、システムはテーブルデータとインデックスデータを個別に処理する必要があります。
-- データをアーカイブします。
ALTER TABLE $tableName SET tablespace rds_oss;
ALTER INDEX $indexName SET tablespace rds_oss;
-- データを取得します。
ALTER TABLE $tableName SET tablespace pg_default;
ALTER INDEX $indexName SET tablespace pg_default;ApsaraDB RDS for PostgreSQL のデータアーカイブ機能は、読み取り専用 RDS インスタンスでのクエリのみをサポートしています。
メリット
RDS インスタンスのデータアーカイブ機能を有効にすると、OSS のマスストレージ、セキュリティ、費用対効果、高信頼性に基づいて、RDS インスタンスのデータを低コストで OSS バケットに保存できます。データアーカイブ機能を使用すると、アクセス頻度の低いデータにアクセスできます。データアーカイブ機能を有効にした後、ストレージコストは、パフォーマンスレベル 1(PL1)ESSD を使用する場合のストレージコストよりも 80% 低くなります。
RDS インスタンスのデータが OSS バケットにアーカイブされた後、RDS インスタンスのストレージの多くが未使用の場合、RDS インスタンスのストレージ容量を削減してストレージコストを削減できます。詳細については、「クラウドディスクを使用する ApsaraDB RDS for PostgreSQL インスタンスのストレージ容量を削減する」をご参照ください。
適用範囲
RDS インスタンスは PostgreSQL を実行しています。
RDS インスタンスは PostgreSQL 12 以降を実行しています。
RDS インスタンスは、20240530 以降のマイナーエンジンバージョンを実行しています。マイナーエンジンバージョンの更新方法の詳細については、「マイナーエンジンバージョンを更新する」をご参照ください。
説明RDS インスタンスが PostgreSQL 15 を実行していて、RDS インスタンスのデータアーカイブ機能を使用する場合、RDS インスタンスのマイナーエンジンバージョンが 20240229 以降であることを確認してください。
RDS インスタンスは、RDS Basic Edition または RDS High-availability Edition を実行しています。
RDS インスタンスは、標準または YiTian プロダクトタイプを使用しています。
RDS インスタンスは汎用 ESSD を使用しています。
説明RDS インスタンスが ESSD を使用している場合は、ストレージタイプを ESSD から汎用 ESSD に変更できます。
RDS インスタンスは、サブスクリプションまたは従量課金制を使用しています。
RDS インスタンスの CPU コア数は 8 以上です。
RDS インスタンスは、韓国(ソウル)、UAE(ドバイ)、英国(ロンドン)の地域にはありません。
制限事項
RDS インスタンスのデータアーカイブ機能を有効にすると、RDS インスタンスのバックアップなどの特定の機能に影響します。
1 桁秒バックアップはサポートされていません。
リージョン間のバックアップはサポートされていません。
個々のデータベースとテーブルを復元する場合、アーカイブされていないデータのみを復元できます。
バックアップセットをダウンロードする場合、ダウンロードされたバックアップセットには、アーカイブされていないデータのみが含まれます。
説明データアーカイブ機能を有効にすると、システムはアーカイブされたデータを復元する必要があるため、インスタンスのバックアップまたは復元の速度が低下します。
システムがテーブルデータとインデックスデータを OSS バケットにアーカイブする前に、データクリーンアップ操作が実行されていることを確認する必要があります。 OSS バケットのストレージパフォーマンスは ESSD のストレージパフォーマンスとは大きく異なり、OSS の表領域での
autovacuum操作の効率は低くなります。autovacuumの長期使用による RDS インスタンスへの悪影響を避けるため、アーカイブされたテーブルに転送されるすべてのページに all_visible フラグと all_frozen フラグを追加することをお勧めします。これにより、アーカイブされた表領域でのautovacuum操作が回避されます。アーカイブされたデータをクリーンアップするには、次の方法を使用することをお勧めします。VACUUM (FREEZE) table_name;VERBOSEオプションを使用して、クリーンアッププロセスの詳細の表示を有効にできます。表示された詳細に基づいて、完全なクリーンアップを実装できます。RDS インスタンスに長時間トランザクションとレプリケーションスロットが含まれている場合、完全なクリーンアップを実装できないため、特定のトランザクション ID を保持する必要がある場合があります。
異なるデータベースエンジンバージョンを実行する RDS インスタンスに対して、異なるクリーンアップポリシーを使用できます。完全なクリーンアップを実装するには、表示された詳細をクエリし、必要なパラメーターを指定します。例:
VACUUM (FREEZE, INDEX_CLEANUP on) table_name;RDS インスタンスが PostgreSQL 14 以降を実行している場合は、
PROCESS_TOASTパラメーターを設定して TOAST テーブルをクリーンアップすることをお勧めします。RDS インスタンスが PostgreSQL 16 以降を実行している場合は、
PROCESS_MAINパラメーターを設定してプライマリテーブルをクリーンアップすることをお勧めします。
VACUUM の詳細については、「VACUUM」をご参照ください。
使用上の注意
テーブルをアーカイブする前に、必要なテーブルで VACUUM 文を実行する必要があります。
OSS のアクセスレイテンシのため、OSS バケットのコールドテーブルのアクセスレイテンシは 10 ミリ秒に達し、これは ESSD のアクセスレイテンシよりも高くなります。
説明OSS バケットにアーカイブされたテーブルにすばやくアクセスできる場合、テーブルは RDS インスタンスのバッファープールまたはオペレーティングシステムのページキャッシュにキャッシュされる場合があります。
OSS バケットからのデータの読み取りはメモリリソースを消費します。また、OSS バケットのデータへのアクセスは、Elastic Compute Service(ECS)のネットワーク帯域幅リソースの特定の割合を消費します。データ転送とデータアクセスの速度と頻度を変更する必要があります。
課金ルール
価格
従量課金制のみがサポートされています。次の表は、異なる RDS エディションを実行する RDS インスタンスの機能の価格を示しています。
リージョン | RDS Basic Edition | RDS High-availability Edition | RDS Cluster Edition(ノード数に基づいて計算) |
中国(杭州)、中国(上海)、中国(青島)、中国(北京)、中国(張家口)、中国(フフホト)、中国(ウランチャブ)、中国(深セン)、中国(河源)、中国(広州)、中国(成都) | 1 GB あたり 0.000032 米ドル/時間 | 1 GB あたり 0.000065 米ドル/時間 | 1 GB あたり 0.000032 米ドル/時間 |
中国(香港)、日本(東京)、シンガポール、インドネシア(ジャカルタ)、ドイツ(フランクフルト) | 1 GB あたり 0.000034 米ドル/時間 | 1 GB あたり 0.000068 米ドル/時間 | 1 GB あたり 0.000034 米ドル/時間 |
フィリピン(マニラ)、米国(シリコンバレー) | 1 GB あたり 0.000058 米ドル/時間 | 1 GB あたり 0.000117 米ドル/時間 | 1 GB あたり 0.000058 米ドル/時間 |
マレーシア(クアラルンプール) | 1 GB あたり 0.000057 米ドル/時間 | 1 GB あたり 0.000114 米ドル/時間 | 1 GB あたり 0.000057 米ドル/時間 |
米国(バージニア) | 1 GB あたり 0.000054 米ドル/時間 | 1 GB あたり 0.000108 米ドル/時間 | 1 GB あたり 0.000054 米ドル/時間 |
この機能は、タイ(バンコク)、韓国(ソウル)、英国(ロンドン)、UAE(ドバイ)の地域ではサポートされていません。
データアーカイブ機能を有効および無効にする
データアーカイブ機能を有効にする
RDS インスタンスを作成するときに、ApsaraDB RDS 購入ページ でデータアーカイブ機能を有効にできます。
汎用 ESSD を使用する既存の RDS インスタンスのデータアーカイブ機能を有効にする場合は、[インスタンスの詳細] ページでこの機能を有効にします。
ApsaraDB RDS 購入ページ
[ApsaraDB RDS 購入ページ] に移動します。
ストレージ タイプ パラメーターを [General ESSD] に設定します。[構成] セクションで、[データアーカイブ] をオンにします。

インスタンスの詳細ページ
ApsaraDB RDS コンソールにログオンし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
[基本情報] セクションの [汎用 ESSD の構成] をクリックします。表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオンにします。
重要データアーカイブ機能を有効にすると、約 30 秒間続く一時的な切断が発生します。オフピーク時に機能を有効にし、アプリケーションが RDS インスタンスに自動的に再接続するように構成されていることを確認することをお勧めします。
データアーカイブ機能を無効にする
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
[基本情報] セクションの [汎用 ESSD の構成] をクリックします。表示されるダイアログボックスの [データアーカイブ] カードで、[データアーカイブ] をオフにします。
重要データアーカイブ機能を無効にすると、約 30 秒間続く一時的な切断が発生します。
データアーカイブ機能を無効にする場合は、OSS バケットにアーカイブされたテーブルが含まれていないことを確認してください。 OSS バケットにアーカイブされたテーブルが含まれている場合、機能を無効にすることはできません。この場合、データアーカイブ機能を無効にする前に、アーカイブされたテーブルをオンラテーブルに変換するか、アーカイブされたテーブルで DROP 操作を実行する必要があります。
アーカイブされたデータを表示する
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
左側のナビゲーションウィンドウで、[コールドストレージ管理] をクリックします。
表示されるページの [アーカイブレイヤー設定] セクションで、データアーカイブ機能が有効になっているデータベースを表示します。
