このトピックでは、ホットデータとコールドデータ用の階層ストレージを実装する利点と、この機能がPolarDB for PostgreSQL でどのように機能するかについて説明します。 OSSにアクセスまたは更新される頻度が低いデータをダンプして階層ストレージを実装すると、ストレージを大幅に節約できます。
メリット
コールドデータの階層型ストレージを有効にする場合、ESSD PL1 と比較して単位ストレージコストが約 90% 削減されます。コールドデータの階層型ストレージの課金ルールもご参照ください。
PolarDB for PostgreSQL におけるコールドデータ階層化ストレージは、以下を提供します。
-
使いやすさ
-
SQL の透過性:すべての SQL 操作は、コードを変更することなく機能します。 OSS テーブルは、フェデレーテッドクエリと完全な CRUD 操作をサポートします。
-
インデックスの透過性:インデックスとマテリアライズドビューのアーカイブポリシーは透過的に機能します。
-
-
高い柔軟性
-
テーブル (インデックスとマテリアライズドビューを含む)、パーティション、またはラージオブジェクト (LOB) フィールド単位でデータをアーカイブできます。 ポリシーを組み合わせて柔軟な設定が可能です。
-
-
優れたパフォーマンス
-
UDF レベルの論理オブジェクトキャッシュ、共有ページキャッシュ、ファイル永続化キャッシュの 3 層キャッシュにより、OSS へのアクセスリクエストが削減され、読み書きのレイテンシへの影響が最小限に抑えられます。
-
-
幅広いシナリオ
-
汎用データ、時空間データ、および時系列データ (時空間軌跡や高精度マップなど) のアーカイブをサポートし、ストレージコストを大幅に削減します。
-
-
安全性と信頼性
-
OSS 内のコールドデータはバックアップとリカバリをサポートしており、高可用性 (HA) を維持しながらバックアップコストを削減します。
-
データが OSS にアーカイブされると、アクセスレイテンシが増加します。 アーカイブされたデータへの頻繁な更新や書き込みは推奨されません。 どのデータを OSS に保存するかを決定できます。
適用範囲
バージョン要件
PolarDB for PostgreSQL クラスターの対応バージョン:
-
PostgreSQL 16 のマイナーエンジンバージョン 2.0.16.9.6.0 以降。
-
マイナーエンジンバージョンが 2.0.14.10.21.0 以降の PostgreSQL 14。
対応リージョン
|
エリア |
リージョン |
|
中国 |
中国 (杭州) |
|
中国 (上海) |
|
|
中国 (深圳) |
|
|
中国 (北京) |
|
|
その他 |
シンガポール |
階層ストレージの仕組み
階層ストレージは、データストレージのオプションとして費用対効果の高いOSSを使用するため、コスト削減につながります。 PolarDB for PostgreSQL は、Elastic Block Storage (EBS) およびOSSでも使用でき、特定の使用パターンに基づいてホットデータとコールドデータの自動ストレージ階層化を実現できます。 このように、PolarDBは、SQL CRUD操作中の透過性を維持し、マルチレベルキャッシュシステムを活用することでパフォーマンスの低下を最小限に抑えます。 階層ストレージアーキテクチャは次のとおりです。

コールドストレージモード
コールドストレージを使用すると、データテーブル、インデックス、またはマテリアライズドビューをOSSにダンプできます。 ディスクの使用を最小限に抑え、ストレージを大幅に節約できます。 コールドストレージ後、CRUD操作を指定するすべてのSQL文は、追加の変更なしで透過的です。
PolarDBは、次のコールドストレージモードをサポートします。
OSSのテーブル全体にデータを保存し、クラウドディスクにインデックスを保持します。 これにより、アクセスパフォーマンスを高く保ちながらストレージコストを削減できます。
LOBタイプの列とセカンダリ列をOSSに保存します。
期限切れのパーティションをOSSに保存し、ホットパーティションをクラウドディスクに保持します。 これは、典型的な階層ストレージモードである。

シナリオ
OSSのアクセス遅延は、クラウドディスクの数百倍になります。 その結果、データがOSSにダンプされると、アクセスパフォーマンスが低下します。 ただし、冷蔵データを照会または更新するときに、かなり高いパフォーマンスを必要とする顧客がまだいます。 この要件を満たすために、PolarDB for PostgreSQL は、次の2種類のストレージ階層化をサポートしています。
クラウドディスクにホットパーティションを保持しながら、期限切れのパーティションをOSSにダンプします。 これにより、クエリのパフォーマンスへの影響を最小限に抑え、ストレージコストを削減できます。 詳細については、「パーティションテーブルのコールドストレージ」「」をご参照ください。
クラウドディスク内の頻繁にアクセスされ更新されるデータにマテリアライズドキャッシュを提供し、データ全体をOSSに保存します。 具体化されたキャッシュ内のデータのライフサイクルは、アクセス頻度によって決まります。 これにより、優れたパフォーマンスを実現し、ストレージコストを削減できます。 詳細については、「マテリアライズドキャッシュ」「」をご参照ください。