📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

データのパージとリサイクル



概要

TiDB Cloud Lake では、DROP、TRUNCATE、または DELETE コマンドを実行しても、データはすぐには削除されません。これにより、TiDB Cloud Lake のタイムトラベル機能が有効になり、データの過去の状態にアクセスできます。ただし、この方式では、これらの操作の後にストレージ領域が自動的に解放されません。

Before DELETE: After DELETE: After VACUUM: +----------------+ +----------------+ +----------------+ | Current Data | | New Version | | Current Data | | | | (After DELETE) | | (After DELETE) | +----------------+ +----------------+ +----------------+ | Historical Data| | Historical Data| | | | (Time Travel) | | (Original Data)| | | +----------------+ +----------------+ +----------------+ Storage not freed Storage freed

VACUUM コマンドとクリーンアップ範囲

TiDB Cloud Lake は、クリーンアップ範囲が異なる 3 つの VACUUM コマンドを提供します。各コマンドが何をクリーンアップするのかを理解することは、データ管理において重要です。

VACUUM DROP TABLE ├── Target: Dropped tables (after DROP TABLE command) ├── S3 Storage: ✅ Removes ALL data (files, segments, blocks, indexes, statistics) ├── Meta Service: ✅ Removes ALL metadata (schema, permissions, records) └── Result: Complete table removal - CANNOT be recovered VACUUM TABLE ├── Target: Historical data and orphan files for active tables ├── S3 Storage: ✅ Removes old snapshots, orphan segments/blocks, indexes/stats ├── Meta Service: ❌ Preserves table structure and current metadata └── Result: Table stays active, only history cleaned VACUUM TEMPORARY FILES ├── Target: Temporary spill files from queries (joins, sorts, aggregates) ├── S3 Storage: ✅ Removes temp files from crashed/interrupted queries ├── Meta Service: ❌ No metadata (temp files don't have any) └── Result: Storage cleanup only, rarely needed

🚨 Critical: メタサービスに影響するのは VACUUM DROP TABLE のみです。その他のコマンドはストレージファイルのみをクリーンアップします。

VACUUM コマンドの使用

VACUUM コマンド群は、TiDB Cloud Lake でデータをクリーンアップするための主要な方法です。

VACUUM DROP TABLE

削除済みテーブルを、ストレージとメタデータの両方から完全に削除します。

VACUUM DROP TABLE [FROM <database_name>] [DRY RUN [SUMMARY]] [LIMIT <file_count>];

オプション:

  • FROM <database_name>: 特定のデータベースに限定します
  • DRY RUN [SUMMARY]: 実際には削除せずに、削除対象となるファイルをプレビューします
  • LIMIT <file_count>: vacuum 対象のファイル数を制限します

例:

-- Preview files that would be removed VACUUM DROP TABLE DRY RUN; -- Preview summary of files that would be removed VACUUM DROP TABLE DRY RUN SUMMARY; -- Remove dropped tables from the "default" database VACUUM DROP TABLE FROM default; -- Remove up to 1000 files from dropped tables VACUUM DROP TABLE LIMIT 1000;

VACUUM TABLE

アクティブなテーブルの履歴データと孤立ファイルを削除します(ストレージのみのクリーンアップ)。

VACUUM TABLE <table_name> [DRY RUN [SUMMARY]];

オプション:

  • DRY RUN [SUMMARY]: 実際には削除せずに、削除対象となるファイルをプレビューします

例:

-- Preview files that would be removed VACUUM TABLE my_table DRY RUN; -- Preview summary of files that would be removed VACUUM TABLE my_table DRY RUN SUMMARY; -- Remove historical data from my_table VACUUM TABLE my_table;

VACUUM TEMPORARY FILES

クエリ実行中に作成された一時スピルファイルを削除します。

VACUUM TEMPORARY FILES;

データ保持期間の調整

VACUUM コマンドは、DATA_RETENTION_TIME_IN_DAYS 設定より古いデータファイルを削除します。デフォルトでは、TiDB Cloud Lake は履歴データを 1 日(24 時間)保持します。この設定は調整できます。

-- Change retention period to 2 days SET GLOBAL DATA_RETENTION_TIME_IN_DAYS = 2; -- Check current retention setting SHOW SETTINGS LIKE 'DATA_RETENTION_TIME_IN_DAYS';
エディションデフォルトの保持期間最大保持期間
TiDB Cloud Lake (Personal)1 日 (24 時間)1 日 (24 時間)
TiDB Cloud Lake (Business)1 日 (24 時間)90 日

このページは役に立ちましたか?