diff --git a/.translation-init b/.translation-init index f6d4e75dfa..5661017e89 100644 --- a/.translation-init +++ b/.translation-init @@ -1 +1 @@ -Translation initialization: 2025-08-25T10:57:35.385088 +Translation initialization: 2025-08-26T06:24:38.838164 diff --git a/docs/cn/guides/57-data-management/04-data-recycle.md b/docs/cn/guides/57-data-management/04-data-recycle.md index e16050a210..883d966a5f 100644 --- a/docs/cn/guides/57-data-management/04-data-recycle.md +++ b/docs/cn/guides/57-data-management/04-data-recycle.md @@ -5,58 +5,63 @@ sidebar_label: 数据回收 ## 概述 -在 Databend 中,执行 `DROP`、`TRUNCATE` 或 `DELETE` 命令时数据不会立即删除。这使 Databend 能够支持时间回溯功能,让您可以访问数据的历史状态。然而,这种方式意味着执行这些操作后存储空间不会自动释放。 +在 Databend 中,当您运行 `DROP`、`TRUNCATE` 或 `DELETE` 命令时,数据不会立即被删除。这使得 Databend 的时间旅行(Time Travel)功能得以实现,允许您访问数据的先前状态。然而,这种方法也意味着在这些操作之后,存储空间不会自动释放。 ``` -Before DELETE: After DELETE: After VACUUM: +DELETE 前: DELETE 后: VACUUM 后: +----------------+ +----------------+ +----------------+ -| Current Data | | New Version | | Current Data | -| | | (After DELETE) | | (After DELETE) | +| 当前数据 | | 新版本 | | 当前数据 | +| | | (DELETE 后) | | (DELETE 后) | +----------------+ +----------------+ +----------------+ -| Historical Data| | Historical Data| | | -| (Time Travel) | | (Original Data)| | | +| 历史数据 | | 历史数据 | | | +| (时间旅行) | | (原始数据) | | | +----------------+ +----------------+ +----------------+ - Storage not freed Storage freed + 存储未释放 存储已释放 ``` -## 需要清理的数据类型 +## VACUUM 命令与清理范围 -Databend 提供了特定命令来清理不同类型的数据。下表总结了数据类型及其对应的清理命令: +Databend 提供了三种具有**不同清理范围**的 VACUUM 命令。了解每个命令清理的内容对于数据管理至关重要。 -| 数据类型 | 描述 | 清理命令 | -|-----------|-------------|-----------------| -| **已删除表数据** | 使用 DROP TABLE 命令删除的表数据文件 | `VACUUM DROP TABLE` | -| **表历史数据** | 表的历史版本,包括通过 UPDATE、DELETE 等操作创建的快照 | `VACUUM TABLE` | -| **孤立文件** | 不再与任何表关联的快照、段和块 | `VACUUM TABLE` | -| **溢出临时文件** | 查询执行期间(如连接、聚合、排序等操作)当内存使用超过可用限制时创建的临时文件 | `VACUUM TEMPORARY FILES` | +``` +VACUUM DROP TABLE +├── 目标:已删除的表(执行 DROP TABLE 命令后) +├── S3 存储:✅ 移除所有数据(文件、段、块、索引、统计信息) +├── Meta Service:✅ 移除所有元数据(模式、权限、记录) +└── 结果:彻底移除表 - 无法恢复 + +VACUUM TABLE +├── 目标:活跃表的历史数据和孤立文件 +├── S3 存储:✅ 移除旧快照、孤立的段/块、索引/统计信息 +├── Meta Service:❌ 保留表结构和当前元数据 +└── 结果:表保持活跃,仅清理历史数据 + +VACUUM TEMPORARY FILES +├── 目标:查询产生的临时溢出文件(连接、排序、聚合) +├── S3 存储:✅ 移除因查询崩溃/中断产生的临时文件 +├── Meta Service:❌ 无元数据(临时文件不含元数据) +└── 结果:仅清理存储,很少需要 +``` -> **注意**:溢出临时文件通常由 Databend 自动清理。只有在查询执行期间 Databend 崩溃或意外关闭时才需要手动清理。 +--- -## 使用 VACUUM 命令 +> **🚨 关键**:只有 `VACUUM DROP TABLE` 会影响 Meta Service。其他命令仅清理存储文件。 -VACUUM 命令系列是 Databend 中清理数据的主要方法([企业版功能](/guides/products/dee/enterprise-features))。根据您需要清理的数据类型,使用不同的 VACUUM 子命令。 +## 使用 VACUUM 命令 -``` -VACUUM Commands: -+------------------------+ +------------------------+ +------------------------+ -| VACUUM DROP TABLE | | VACUUM TABLE | | VACUUM TEMPORARY FILES | -+------------------------+ +------------------------+ +------------------------+ -| Cleans dropped tables | | Cleans table history | | Cleans spill files | -| and their data files | | and orphan files | | (rarely needed) | -+------------------------+ +------------------------+ +------------------------+ -``` +VACUUM 命令系列是 Databend 中清理数据的主要方法([企业版功能](/guides/products/dee/enterprise-features))。 ### VACUUM DROP TABLE -此命令永久删除已删除表的数据文件,释放存储空间。 +从存储和元数据中永久移除已删除的表。 ```sql VACUUM DROP TABLE [FROM ] [DRY RUN [SUMMARY]] [LIMIT ]; ``` **选项:** -- `FROM `:限定在特定数据库 -- `DRY RUN [SUMMARY]`:预览将被删除的文件而不实际执行删除 +- `FROM `:限制在特定数据库内 +- `DRY RUN [SUMMARY]`:预览将要移除的文件,而不实际删除它们 - `LIMIT `:限制要清理的文件数量 **示例:** @@ -68,23 +73,23 @@ VACUUM DROP TABLE DRY RUN; -- 预览将被移除文件的摘要 VACUUM DROP TABLE DRY RUN SUMMARY; --- 从 "default" 数据库中移除已删除表 +-- 从 "default" 数据库中移除已删除的表 VACUUM DROP TABLE FROM default; --- 从已删除表中移除最多 1000 个文件 +-- 从已删除的表中最多移除 1000 个文件 VACUUM DROP TABLE LIMIT 1000; ``` ### VACUUM TABLE -此命令移除指定表的历史数据,清除旧版本并释放存储空间。 +为活跃表移除历史数据和孤立文件(仅清理存储)。 ```sql VACUUM TABLE [DRY RUN [SUMMARY]]; ``` **选项:** -- `DRY RUN [SUMMARY]`:预览将被删除的文件而不实际执行删除 +- `DRY RUN [SUMMARY]`:预览将要移除的文件,而不实际删除它们 **示例:** @@ -95,34 +100,34 @@ VACUUM TABLE my_table DRY RUN; -- 预览将被移除文件的摘要 VACUUM TABLE my_table DRY RUN SUMMARY; --- 从 my_table 中移除历史数据 +-- 从 my_table 表中移除历史数据 VACUUM TABLE my_table; ``` ### VACUUM TEMPORARY FILES -此命令清除用于连接、聚合和排序的临时溢出文件,释放存储空间。 +移除查询执行期间创建的临时溢出文件。 ```sql VACUUM TEMPORARY FILES; ``` -**注意**:虽然此命令提供了手动清理临时文件的方法,但在正常操作中很少需要,因为 Databend 在大多数情况下会自动处理清理。 +> **注意**:在正常操作中很少需要,因为 Databend 会自动处理清理工作。通常只有在 Databend 于查询执行期间崩溃时才需要手动清理。 ## 调整数据保留时间 VACUUM 命令会移除早于 `DATA_RETENTION_TIME_IN_DAYS` 设置的数据文件。默认情况下,Databend 会保留 1 天(24 小时)的历史数据。您可以调整此设置: ```sql --- 将保留期改为 2 天 +-- 将保留期更改为 2 天 SET GLOBAL DATA_RETENTION_TIME_IN_DAYS = 2; --- 查看当前保留设置 +-- 检查当前的保留期设置 SHOW SETTINGS LIKE 'DATA_RETENTION_TIME_IN_DAYS'; ``` -| 版本 | 默认保留时间 | 最大保留时间 | +| 版本 | 默认保留期 | 最长保留期 | | ---------------------------------------- | ----------------- | ---------------- | -| Databend 社区版和企业版 | 1 天(24 小时) | 90 天 | -| Databend Cloud (基础版) | 1 天(24 小时) | 1 天(24 小时) | -| Databend Cloud (商业版) | 1 天(24 小时) | 90 天 | \ No newline at end of file +| Databend Community & Enterprise Editions | 1 天(24 小时) | 90 天 | +| Databend Cloud(Personal) | 1 天(24 小时) | 1 天(24 小时) | +| Databend Cloud(Business) | 1 天(24 小时) | 90 天 | \ No newline at end of file