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

PolarDB:コールドストレージでデータをプリフェッチする

最終更新日:Jun 27, 2024

このトピックでは、コールドストレージでデータをプリフェッチする方法について説明します。

背景情報

コールドストレージ内のデータを初めてクエリすると、多くの場合、かなりの遅延が発生します。 この問題を軽減するには、永続キャッシュ (階層ストレージ内のディスク) にデータをプリフェッチします。 PolarDB for PostgreSQL は、コールドストレージ内のデータをプリフェッチするためのpolar_osfs_prewarm関数を提供します。

拡張機能の作成

CREATE EXTENSION IF NOT EXISTS polar_osfs_toolkit;

手順

-- Prefetch a whole table. 
select polar_osfs_prewarm('table_name');

-- Prefetch data within a specified range. first_blk: specifies the number of the start block. last_blk: specifies the number of the end block.
select  polar_osfs_prewarm('table_name', first_blk, last_blk);
説明
  • コールドストアされたテーブルのサイズがキャッシュ容量を超えると、キャッシュがいっぱいになるまで順番に読み込まれ、プリフェッチされます。

  • キャッシュ比率を上げるには、コンソールでpolar_smgrcache_sizeパラメーター値を大きくします。 調整はすぐに有効になり、データベースを再起動する必要はありません。