コールドデータとは、特定のデータベーステーブル内でほとんど変更されず、読み取り頻度が低いデータを指します。ストレージコストを削減するために、コールドデータアーカイブ機能を使用できます。この機能は、コールドデータを低コストの Object Storage Service (OSS) に移動し、全体のデータストレージコストを削減します。
仕組み
PolarDB for MySQL は、CSV または ORC 形式でのデータアーカイブをサポートしています。詳細は以下に示します。
コールドデータは手動または自動でアーカイブできます。アーカイブ後、データは Comma-Separated Values (CSV) または Optimized Row Columnar (ORC) 形式に変換され、複数のファイルに分割されて OSS に保存されます。アーカイブされたデータは、ストレージ容量を削減し、ストレージ料金を低減するために、PolarDB ストレージスペースから自動的に削除されます。その後、クラスターノードは Alibaba Cloud 内部ネットワークを介してアーカイブされたデータにアクセスできます。詳細については、「コールドデータの手動アーカイブ」および「コールドデータの自動アーカイブ」をご参照ください。
アーカイブパーティションテーブル機能は現在、カナリアリリース中です。この機能を使用するには、クォータセンター にアクセスし、[クォータ ID] polardb_mysql_hybrid_partition を使用してクォータを見つけ、操作列で [申請] をクリックします。
形式の比較
コールドデータアーカイブのニーズに最適な形式を選択するために、以下の形式を比較してください。
標準テーブル、OSS 外部テーブル、およびパーティションテーブルのアーカイブには制限があります。ビジネスへの影響を避けるため、アーカイブする前にそれらを注意深くお読みください。
アーカイブ後、コールドデータはシステムデフォルトの OSS に保存され、ご利用の OSS バケットには保存されません。現在、アーカイブされたデータは PolarDB コンソールでのみ表示できます。
パーティションテーブルのアーカイブ方法:
パーティションテーブルのアーカイブ:この方法は、パーティションテーブルのパーティションをインプレースでアーカイブします。データは元のテーブルに残りますが、パーティションの記憶媒体が PolarDB (ホットストレージ) から OSS (コールドストレージ) に変更され、テーブルはホットパーティションとコールドパーティションの両方を含むハイブリッドパーティションテーブルになります。
OSS 外部テーブルへのパーティションテーブルアーカイブ:この方法は、パーティションのデータを元のテーブルから移動し、新しい独立した OSS 外部テーブルに保存します。元のテーブルはその後、そのパーティションを失います。
比較項目 | CSV | ORC | X-Engine |
オープンソース形式 | はい | はい | いいえ |
アーカイブ方法 | 手動アーカイブ: |
| |
アーカイブ速度 | 速い 説明 シングルスレッドアーカイブのみをサポートします。 | 遅い 説明 シングルスレッドアーカイブのみをサポートします。 | 速い 説明 PolarDB ストレージスペースにデータをアーカイブします。 |
クエリ速度 |
説明 シングルスレッドおよびマルチスレッド読み取りの両方をサポートします。 |
説明 シングルスレッド読み取りのみをサポートします。 |
|
トランザクションサポート | いいえ | いいえ | はい |
インデックスサポート | いいえ | いいえ | はい |
アーカイブされたデータの変更方法 | OSS 上のアーカイブされたテーブルは読み取り専用です。データを変更するには、まず PolarDB ストレージスペースにインポートし直してください。 | アーカイブされたテーブルで DML 操作を実行できます。 | |
使用されるストレージスペース | インデックスなしの InnoDB テーブルと同じです。 | 同じデータボリュームの場合、CSV ファイルに必要なストレージスペースの 45% を使用します。 | ストレージスペースを InnoDB エンジンの使用量の 10%~30% に圧縮します。実際の圧縮率はデータ特性によって異なります。 |
バックアップとリカバリ | サポートされていません。 説明 バックアップには、すでに OSS にアーカイブされたコールドデータは含まれません。そのため、バックアップを使用してデータベースやテーブルを復元したり、バックアップを回復したり、ポイントインタイムリカバリを実行したりすることはできません。 | サポートされています。 | |
アーカイブ後の影響 |
|
| アーカイブ後、テーブルへのアクセス方法を変更せずにアーカイブされたデータをクエリします。 |
適用範囲
CSV 形式でアーカイブ。
Cluster Edition の場合、以下のいずれかのカーネルバージョンを使用する必要があります。
MySQL 8.0.1、リビジョン 8.0.1.1.47 以降。
MySQL 8.0.2、リビジョン 8.0.2.2.10 以降。
Multi-master Cluster (Limitless) Edition の場合、カーネルバージョン 8.0.1.0.13 以降を使用する必要があります。
ORC 形式へのアーカイブ
Cluster Edition の場合、リビジョン 8.0.2.2.30 以降を使用する必要があります。
Multi-master Cluster (Limitless) Edition の場合、リビジョン 8.0.2.2.30 以降を使用する必要があります。
X-Engine 形式としてアーカイブ
標準テーブルをアーカイブするには:
MySQL 8.0.1、リビジョン 8.0.1.1.31 以降。
MySQL 8.0.2、リビジョン 8.0.2.2.12 以降。
パーティションテーブルをアーカイブするには:MySQL 8.0.2、リビジョン 8.0.2.2.12 以降。
X-Engine 列指向テーブルにアーカイブするには:MySQL 8.0.2、リビジョン 8.0.2.2.33 以降。
課金
OSS に保存されているコールドデータの量に基づいて、コールドデータストレージの料金を支払います。料金の詳細は以下に示します。
中国本土 | 中国 (香港) およびその他のリージョン |
USD 0.0000325 / GB-時間 | USD 0.0000455 / GB-時間 |
たとえば、中国本土のクラスターで 100 GB のコールドデータをアーカイブする場合、時間料金は 100 GB × USD 0.0000325 / GB-時間 = USD 0.00325 / 時間です。
アーカイブされたコールドデータの量を確認する方法の詳細については、「コールドデータアーカイブ情報の表示」をご参照ください。
使用方法
詳細については、「使用方法」をご参照ください。