Skip to content

Commit 8e4fb50

Browse files
💬Generate LLM translations (#1935)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: z <[email protected]>
1 parent 24ca832 commit 8e4fb50

File tree

1 file changed

+62
-51
lines changed

1 file changed

+62
-51
lines changed

docs/cn/guides/57-data-management/04-data-recycle.md

Lines changed: 62 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -3,89 +3,100 @@ title: 数据清理和回收
33
sidebar_label: 数据回收
44
---
55

6-
在 Databend 中,当你运行 `DROP``TRUNCATE``DELETE` 命令时,数据并非真正被删除,从而允许时间回溯到之前的状态。
6+
## 概述
77

8-
有两种类型的数据:
8+
在 Databend 中,当你运行 `DROP``TRUNCATE``DELETE` 命令时,数据不会立即被删除。这使得 Databend 的时间回溯功能成为可能,允许你访问数据的先前状态。然而,这种方法意味着在这些操作之后,存储空间不会自动释放。
99

10-
- **历史数据**: 被时间回溯用于存储历史数据或已删除表中的数据。
11-
- **临时数据**: 被系统用于存储溢出数据。
10+
## 需要清理的数据类型
1211

13-
如果数据量很大,您可以运行几个命令([企业版功能](/guides/products/dee/enterprise-features))来删除这些数据并释放存储空间。
12+
在 Databend 中,主要有四种类型的数据可能需要清理:
1413

15-
## 溢出数据存储
14+
1. **已删除表的数据**:使用 DROP TABLE 命令删除的表中的数据文件
15+
2. **表历史数据**:表的历史版本,包括通过 UPDATE、DELETE 和其他操作创建的快照
16+
3. **孤立文件**:不再与任何表关联的快照、段和块
17+
4. **溢出临时文件**:在查询执行期间,当内存使用量超过可用限制时创建的临时文件(用于连接、聚合、排序等)。Databend 在查询正常完成后会自动清理这些文件。只有在 Databend 在查询执行期间崩溃或意外关闭的极少数情况下才需要手动清理。
1618

17-
私有化部署 Databend 支持在内存使用量超过可用限制时,将中间查询结果溢出到磁盘。用户可以配置溢出数据的存储位置,选择本地磁盘存储和远程 S3 兼容的存储桶。
19+
## 使用 VACUUM 命令
1820

19-
### 溢出存储选项
21+
VACUUM 命令系列是在 Databend 中清理数据的主要方法 ([企业版功能](/guides/products/dee/enterprise-features))。根据你需要清理的数据类型,使用不同的 VACUUM 子命令。
2022

21-
Databend 提供以下溢出存储配置:
23+
### VACUUM DROP TABLE
2224

23-
- 本地磁盘存储:溢出数据被写入查询节点中指定的本地目录。请注意,本地磁盘存储仅支持 [窗口函数](/sql/sql-functions/window-functions/)
24-
- 远程 S3 兼容存储:溢出数据存储在外部存储桶中。
25-
- 默认存储:如果未配置溢出存储,Databend 会将数据溢出到默认存储桶以及您的表数据。
25+
此命令永久删除已删除表的数据文件,释放存储空间。
2626

27-
### 溢出优先级
27+
```sql
28+
VACUUM DROP TABLE [FROM <database_name>] [DRY RUN [SUMMARY]] [LIMIT <file_count>];
29+
```
2830

29-
如果同时配置了本地和 S3 兼容的溢出存储,Databend 遵循以下顺序:
31+
**选项:**
32+
- `FROM <database_name>`:限制为特定数据库
33+
- `DRY RUN [SUMMARY]`:预览要删除的文件,而不实际删除它们
34+
- `LIMIT <file_count>`:限制要清理的文件数量
3035

31-
1. 首先溢出到本地磁盘(如果已配置)。
32-
2. 当本地磁盘空间不足时,溢出到远程 S3 兼容存储。
33-
3. 如果未配置本地或外部 S3 兼容存储,则溢出到 Databend 的默认存储桶。
36+
**示例:**
3437

35-
### 配置溢出存储
38+
```sql
39+
-- 预览将要删除的文件
40+
VACUUM DROP TABLE DRY RUN;
3641

37-
要配置溢出存储,请更新 [databend-query.toml](https://github.com/databendlabs/databend/blob/main/scripts/distribution/configs/databend-query.toml) 配置文件。
42+
-- 预览将要删除的文件的摘要
43+
VACUUM DROP TABLE DRY RUN SUMMARY;
3844

39-
此示例设置 Databend 使用最多 1 TB 的本地磁盘空间进行溢出操作,同时为系统使用保留 40% 的磁盘空间:
45+
-- 从“default”数据库中删除已删除的表
46+
VACUUM DROP TABLE FROM default;
4047

41-
```toml
42-
[spill]
43-
spill_local_disk_path = "/data1/databend/databend_spill"
44-
spill_local_disk_reserved_space_percentage = 40
45-
spill_local_disk_max_bytes = 1099511627776
48+
-- 从已删除的表中删除最多 1000 个文件
49+
VACUUM DROP TABLE LIMIT 1000;
4650
```
4751

48-
此示例设置 Databend 使用 MinIO 作为 S3 兼容的存储服务进行溢出操作:
49-
50-
```toml
51-
[spill]
52-
[spill.storage]
53-
type = "s3"
54-
[spill.storage.s3]
55-
bucket = "databend"
56-
root = "admin"
57-
endpoint_url = "http://127.0.0.1:9900"
58-
access_key_id = "minioadmin"
59-
secret_access_key = "minioadmin"
60-
allow_insecure = true
52+
### VACUUM TABLE
53+
54+
此命令删除指定表的历史数据,清除旧版本并释放存储空间。
55+
56+
```sql
57+
VACUUM TABLE <table_name> [DRY RUN [SUMMARY]];
6158
```
6259

63-
## 清理删除表数据
60+
**选项:**
61+
- `DRY RUN [SUMMARY]`:预览要删除的文件,而不实际删除它们
6462

65-
删除所有已删除表的数据文件,释放存储空间。
63+
**示例:**
6664

6765
```sql
68-
VACUUM DROP TABLE;
69-
```
66+
-- 预览将要删除的文件
67+
VACUUM TABLE my_table DRY RUN;
68+
69+
-- 预览将要删除的文件的摘要
70+
VACUUM TABLE my_table DRY RUN SUMMARY;
7071

71-
查看更多 [VACUUM DROP TABLE](/sql/sql-commands/administration-cmds/vacuum-drop-table)
72+
-- 从 my_table 中删除历史数据
73+
VACUUM TABLE my_table;
74+
```
7275

73-
## 清理表历史数据
76+
### VACUUM TEMPORARY FILES
7477

75-
删除指定表的历史数据,清除旧版本并释放存储空间
78+
此命令清除用于连接、聚合和排序的临时溢出文件,释放存储空间
7679

7780
```sql
78-
VACUUM TABLE <table_name>;
81+
VACUUM TEMPORARY FILES;
7982
```
8083

81-
查看更多 [VACUUM TABLE](/sql/sql-commands/administration-cmds/vacuum-table)
84+
**注意:** 虽然此命令作为手动清理临时文件的方法提供,但在正常操作期间很少需要,因为 Databend 在大多数情况下会自动处理清理
8285

83-
## 清理临时数据
86+
## 调整数据保留时间
8487

85-
清除用于连接、聚合和排序的临时溢出文件,释放存储空间。
88+
VACUUM 命令删除早于 `DATA_RETENTION_TIME_IN_DAYS` 设置的数据文件。默认情况下,Databend 保留 1 天(24 小时)的历史数据。你可以调整此设置:
8689

8790
```sql
88-
VACUUM TEMPORARY FILES;
91+
-- 将保留期限更改为 2 天
92+
SET GLOBAL DATA_RETENTION_TIME_IN_DAYS = 2;
93+
94+
-- 检查当前保留设置
95+
SHOW SETTINGS LIKE 'DATA_RETENTION_TIME_IN_DAYS';
8996
```
9097

91-
查看更多 [VACUUM TEMPORARY FILES](/sql/sql-commands/administration-cmds/vacuum-temp-files)
98+
| 版本 | 默认保留时间 | 最长保留时间 |
99+
| ---------------------------------------- | ----------------- | ---------------- |
100+
| Databend Community & Enterprise Editions | 1 天(24 小时) | 90 天 |
101+
| Databend Cloud (基础版) | 1 天(24 小时) | 1 天(24 小时) |
102+
| Databend Cloud (Business) | 1 天(24 小时) | 90 天 |

0 commit comments

Comments
 (0)