Warmup Jobs
VeloDB Cloudクラスターは、ローカルキャッシュにホットデータを保持し、残りをリモートストレージから読み取ります。クラスターのキャッシュがコールドの場合、キャッシュが満たされる前にリモートストレージからデータを取得するため、最初のクエリは遅くなります。warmupジョブは、クラスターのキャッシュに事前にデータをプリロードするため、クエリはウォーム状態で開始されます。
以下の場合にクラスターをウォームアップします:
- 新規または再開されたクラスターが本番トラフィックを受ける前に準備する。
- コンピュートをスケールインした後、新しい容量を超えてキャッシュされたデータが退避されたときにキャッシュを再充填する。
- スタンバイクラスターのキャッシュをビジークラスターと整合させ、迅速に引き継げるようにする。
キャッシュwarmupはバージョン4.0.2以降で利用可能です。
warmupジョブの作成
warmupジョブは、コンソールからではなく、SQLで作成します。SQL EditorまたはあらゆるSQLクライアントからWARM UP COMPUTE GROUP文を実行します。クラスターはSQLレベルではcompute groupです。クラスターは2つの方法のいずれかでウォームアップできます。
他のクラスターから宛先クラスターをウォームアップします。これは、ソースクラスターのキャッシュされたデータセットを宛先にコピーします。これは、新しいクラスター上でウォームクラスターのキャッシュを再現する場合や、スタンバイクラスターをビジークラスターと整合させる場合に使用します。
WARM UP COMPUTE GROUP <destination_cluster> WITH COMPUTE GROUP <source_cluster>;
または、次のクエリがどのデータセットを読み取るかがわかっている場合は、特定のテーブルとパーティションをウォームアップします。
WARM UP COMPUTE GROUP <destination_cluster> WITH
TABLE <table_name>
AND TABLE <table_name> PARTITION <partition_name>;
このステートメントは、コンソールまたはSQLで追跡するジョブIDを返します。完全な構文については、WARM UPを参照してください。
warmupジョブの追跡
コンソールで、Compute → Warmup Jobsに移動してwarmupジョブとその状態を確認します。Job IDをクリックしてそのジョブページを開きます。ジョブは以下の内容を報告します:
| フィールド | 意味 |
|---|---|
| Status | PENDING、RUNNING、FINISHED、またはCANCELLED。 |
| Type | 他のクラスターからwarmingする場合はCLUSTER、特定のテーブルまたはパーティションをwarmingする場合はTABLE。 |
| Finished / total batches | 全体のうち何個のデータバッチがwarmされたか。進捗を測るために使用します。 |
| Create time / finish time | ジョブが開始された時刻と、完了後は終了した時刻。 |
| Error | ジョブが完了しなかった場合の失敗理由。 |
同等のSQLステートメントはSHOW WARM UP JOBです。
warmupジョブのキャンセル
実行中のwarmupジョブを停止するには、Warmup Jobsページでそれを開いてキャンセルします。状態がRUNNINGからCANCELLEDに変わります。すでにwarmされたバッチはキャッシュに残ります。同等のSQLステートメントはCANCEL WARM UP JOB WHERE id = <id>です。
warmupジョブでのアラート
ソースクラスターから宛先クラスターをwarmする際、VeloDB Cloudは時間をかけて宛先キャッシュをソースと同期させることができます。その同期を追跡する2つのメトリックがあり、Jobアラートターゲットとして使用できます。両方とも4.xラインのバージョン4.1.8以降および26.xラインの26.0.5以降で利用可能です。
| メトリック | 単位 | 追跡内容 |
|---|---|---|
| Warmup Job Trigger Gap | ms | warmup実行間の間隔。拡大するギャップはwarmupのスケジューリングが遅れていることを意味します。 |
| Warmup Job Pending Size | bytes | 過去5分間のソース-宛先データサイズ。値が増加している場合、宛先キャッシュがソースより遅れていることを意味します。 |
warmupアラートはAlertsページからではなく、ジョブ自体のページから作成してください:Warmup Jobsページでジョブを開き、Create Alertをクリックします。他のターゲットタイプと通知チャネルを含む完全なアラートワークフローについては、Alertsを参照してください。
関連するSQLステートメント
WarmupはSQL層で実行されます。WARM UP COMPUTE GROUPでwarmupジョブを作成し、コンソールまたはSQLから検索・キャンセルします。
- WARM UP:他のクラスターから、またはテーブルとパーティション単位でクラスターをwarmします。
- SHOW WARM UP JOB:warmupジョブとその状態をリストします。
- CANCEL WARM UP:実行中のwarmupジョブを停止します。
- SHOW CACHE HOTSPOT:キャッシュ内でホットなデータを検査します。