Skip to content

Commit fed4e44

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

File tree

1 file changed

+56
-54
lines changed

1 file changed

+56
-54
lines changed

docs/cn/guides/10-deploy/02-upgrade/10-compatibility.md

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@ description:
55
调查和管理兼容性
66
---
77

8-
本指南将介绍如何调查和管理兼容性
9-
- databend-query 和 databend-meta 之间
10-
- 在不同版本的 databend-meta 之间
8+
本指南将介绍如何调查和管理以下兼容性
9+
- databend-query 和 databend-meta 之间的兼容性
10+
- 不同版本的 databend-meta 之间的兼容性
1111

1212
## databend-query 和 databend-meta 之间的兼容性
1313

1414
### 识别版本
1515

16-
- 查找 databend-query 的构建版本及其兼容的 databend-meta 版本:
16+
- 要查找 databend-query 的构建版本及其兼容的 databend-meta 版本:
1717

1818
```shell
1919
databend-query --cmd ver
2020

21-
# 输出:
21+
# 输出
2222
version: 0.7.61-nightly
2323
min-compatible-metasrv-version: 0.7.59
2424
```
2525

2626
这意味着此版本的 databend-query(`0.7.61-nightly`) 可以与至少版本为 `0.7.59` 的 databend-meta 通信。
2727

28-
- 查找 databend-meta 的构建版本及其兼容的 databend-query 版本:
28+
- 要查找 databend-meta 的构建版本及其兼容的 databend-query 版本:
2929

3030
```shell
3131
databend-meta --cmd ver
3232

33-
# 输出:
33+
# 输出
3434
version: 0.7.61-nightly
3535
min-compatible-client-version: 0.7.57
3636
```
@@ -39,8 +39,8 @@ description:
3939

4040
### 维护兼容性
4141

42-
一个 databend 集群必须部署兼容版本的 databend-query 和 databend-meta。
43-
一个 databend-query 和 databend-meta 是兼容的,当且仅当以下陈述成立
42+
databend 集群必须部署兼容版本的 databend-query 和 databend-meta。
43+
databend-query 和 databend-meta 兼容当且仅当以下条件成立
4444

4545
```
4646
databend-query.version >= databend-meta.min-compatible-client-version
@@ -49,33 +49,33 @@ databend-bend.version >= databend-query.min-compatible-metasrv-version
4949

5050
:::caution
5151

52-
如果部署了不兼容的版本,当 databend-query 尝试连接到 databend-meta 时,会发生 `InvalidArgument` 错误,
52+
如果部署了不兼容的版本,当 databend-query 尝试连接 databend-meta 时,将会发生 `InvalidArgument` 错误,
5353
该错误可以在 databend-query 日志中找到。
5454
然后 databend-query 将停止工作。
5555

5656
:::
5757

5858
#### 兼容性验证协议
5959

60-
当 meta-clientdatabend-query和 databend-meta 之间建立连接时,会在 `handshake` RPC 中检查兼容性。
60+
当 meta-client(databend-query) 和 databend-meta 之间建立连接时,会在 `handshake` RPC 中检查兼容性。
6161

62-
客户端 `C`databend-query和服务器 `S`databend-meta维护两个语义版本:
62+
客户端 `C`(databend-query) 和服务器 `S`(databend-meta) 维护两个语义版本:
6363

64-
- `C` 维护其自身的 semver`C.ver`和最小兼容的 `S` semver`C.min_srv_ver`
65-
- `S` 维护其自身的 semver`S.ver`和最小兼容的 `S` semver`S.min_cli_ver`
64+
- `C` 维护其自身的 semver(`C.ver`) 和最小兼容的 `S` semver(`C.min_srv_ver`)
65+
- `S` 维护其自身的 semver(`S.ver`) 和最小兼容的 `S` semver(`S.min_cli_ver`)
6666

6767
当握手时:
6868

69-
- `C` 将其 ver `C.ver` 发送给 `S`
70-
-`S` 接收到握手请求时`S` 断言 `C.ver >= S.min_cli_ver`
71-
- 然后 `S` 用其 `S.ver` 回复握手回复
72-
-`C` 接收到回复时`C` 断言 `S.ver >= C.min_srv_ver`
69+
- `C` 发送其版本 `C.ver` `S`
70+
-`S` 收到握手请求时`S` 断言 `C.ver >= S.min_cli_ver`
71+
- 然后 `S` 回复握手响应,包含其 `S.ver`
72+
-`C` 收到响应时`C` 断言 `S.ver >= C.min_srv_ver`
7373

7474
如果这两个断言都成立,则握手成功。
7575

7676
例如:
7777
- `S: (ver=3, min_cli_ver=1)``C: (ver=3, min_srv_ver=2)` 兼容。
78-
- `S: (ver=4, min_cli_ver=4)` ****`C: (ver=3, min_srv_ver=2)` 兼容。
78+
- `S: (ver=4, min_cli_ver=4)` **** `C: (ver=3, min_srv_ver=2)` 兼容。
7979
因为虽然 `S.ver(4) >= C.min_srv_ver(3)` 成立,
8080
`C.ver(3) >= S.min_cli_ver(4)` 不成立。
8181

@@ -93,7 +93,7 @@ S.ver: 2 3 4
9393

9494
#### 兼容性状态
9595

96-
以下是最新 query-meta 兼容性的图示
96+
以下是 query-meta 最新兼容性的说明
9797

9898
| `Meta\Query` | [0.9.41, 1.1.34) | [1.1.34, 1.2.287) | [1.2.287, 1.2.361) | [1.2.361, +∞) |
9999
|:-------------------|:-----------------|:---------------|:-----------|:-----------|
@@ -106,7 +106,7 @@ S.ver: 2 3 4
106106
| [1.2.226, 1.2.258) |||||
107107
| [1.2.258, +∞) |||||
108108

109-
未包含在上表中的历史版本
109+
未包含在上述图表中的历史版本
110110

111111
- Query `[0.7.59, 0.8.80)` 与 Meta `[0.8.30, 0.9.23)` 兼容。
112112
- Query `[0.8.80, 0.9.41)` 与 Meta `[0.8.35, 0.9.42)` 兼容。
@@ -116,19 +116,19 @@ S.ver: 2 3 4
116116

117117
## databend-query 之间的兼容性
118118

119-
| Query 版本 | 向后兼容性 |
120-
|:-------------------|:--------------------|
121-
| [-∞, 1.2.307) | [-∞, 1.2.311) |
122-
| [1.2.307, 1.2.311) | [-∞, 1.2.311) |
123-
| [1.2.311, +∞) | [1.2.307, +∞) |
119+
| Query 版本 | 向后兼容于 |
120+
|:-------------------|:--------------------------|
121+
| [-∞, 1.2.307) | [-∞, 1.2.311) |
122+
| [1.2.307, 1.2.311) | [-∞, 1.2.311) |
123+
| [1.2.311, +∞) | [1.2.307, +∞) |
124124

125-
自 1.2.307 起,支持反序列化 Role 信息为 pb 和 json,但仅支持将 Role 信息序列化为 json。
125+
自 1.2.307 起,支持使用 pb 和 json 反序列化 Role 信息,但仅支持将 Role 信息序列化为 json。
126126

127127
自 1.2.311 起,仅支持将 Role 信息序列化为 pb。
128128

129-
防止未成功升级的查询节点在滚动升级期间因角色操作而读取数据。建议先升级到 1.2.307,然后再升级到 1.2.311。
129+
防止在滚动升级期间,未成功升级的查询节点由于对 Role 的操作而无法读取数据。建议先升级到 1.2.307,然后再升级到 1.2.311。
130130

131-
例如,当前版本为 1.2.306 升级到 1.2.312:
131+
例如,当前版本为 1.2.306升级到 1.2.312:
132132

133133
```
134134
1.2.307 -> 1.2.311 -> 1.2.312
@@ -137,44 +137,46 @@ S.ver: 2 3 4
137137

138138
## databend-meta 之间的兼容性
139139

140-
| Meta 版本 | 向后兼容性 |
141-
|:-------------------|:--------------------|
142-
| [0.9.41, 1.2.212) | [0.9.41, 1.2.212) |
143-
| [1.2.212, 1.2.479) | [0.9.41, 1.2.479) |
144-
| [1.2.479, 1.2.655) | [1.2.288, 1.2.655) |
145-
| [1.2.655, +∞) | [1.2.288, +∞) |
140+
| Meta 版本 | 向后兼容于 |
141+
|:--------------------|:-------------------------|
142+
| [0.9.41, 1.2.212) | [0.9.41, 1.2.212) |
143+
| [1.2.212, 1.2.479) | [0.9.41, 1.2.479) |
144+
| [1.2.479, 1.2.655) | [1.2.288, 1.2.655) |
145+
| [1.2.655, +∞) | [1.2.288, +∞) |
146146

147147

148-
- `1.2.53` 不兼容,允许滚动升级而无需传输快照。
149-
快照格式发生变化,因此在滚动升级期间,
150-
要求所有节点数据都是最新的,确保无需通过快照进行复制。
148+
![Image](https://github.com/user-attachments/assets/f63d80ee-f646-4d6a-9bec-be607e47088d)
149+
150+
- `1.2.53` 不兼容,允许在不传输快照的情况下进行滚动升级。
151+
快照格式已更改,因此在滚动升级期间,
152+
需要所有节点数据保持最新,确保无需通过快照进行复制。
151153

152154
- `1.2.163` 功能:gRPC API:添加了 `kv_read_v1()`。用于流式读取。
153155

154-
- `1.2.212` 2023-11-16 功能:raft API:`install_snapshot_v1()`兼容旧版本
156+
- `1.2.212` 2023-11-16 功能:raft API:`install_snapshot_v1()`与旧版本兼容
155157
支持滚动升级。
156-
在此版本中,databend-meta raft-server 引入了一个新的 API `install_snapshot_v1()`
158+
在此版本中,databend-meta raft-server 引入了新的 API `install_snapshot_v1()`
157159
raft-client 将尝试使用此新 API 或原始的 `install_snapshot()`
158160

159-
- `1.2.479` 2024-05-21 移除:从客户端和服务器中移除了 `install_snapshot()`(v0)
160-
`install_snapshot_v1()` 是唯一用于安装快照的 API,并且成为客户端的**必需**
161+
- `1.2.479` 2024-05-21 移除:`install_snapshot()`(v0) 从客户端和服务器中移除
162+
`install_snapshot_v1()` 是安装快照的唯一 API,并且成为客户端的 **必需** 功能
161163

162164
- `1.2.528` 2024-06-13 移除磁盘数据版本 `V001`。第一个使用 `V002` 的版本是 `1.2.53`,2023-08-08。
163165
因此,自 `1.2.528` 起,最旧的兼容版本是 `1.2.53`
164-
因此,从此版本起,兼容性保持不变。
166+
因此,从该版本开始,兼容性保持不变。
165167

166168
- `1.2.552` 2024-07-02 引入磁盘 `V003`,使用 `rotbl` 格式快照,
167-
`V002` 兼容。最旧的兼容版本是 `1.2.288``1.2.212~1.2.287` 被移除)。
169+
`V002` 兼容。最旧的兼容版本是 `1.2.288``1.2.212~1.2.287` 已被移除)。
168170

169171
- `1.2.655` 2024-11-11 引入磁盘 `V004`,使用基于 WAL 的 Raft 日志存储,
170-
`V002` 兼容。最旧的兼容版本是 `1.2.288``1.2.212~1.2.287` 被移除)。
172+
`V002` 兼容。最旧的兼容版本是 `1.2.288``1.2.212~1.2.287` 已被移除)。
171173

172174

173175
## databend-meta 磁盘数据的兼容性
174176

175177
Databend-meta 的磁盘数据随着时间的推移而演变,同时保持向后兼容性。
176178

177-
| DataVersion | Databend 版本 | 最小兼容性 |
179+
| 数据版本 | Databend 版本 | 最小兼容版本 |
178180
|:------------|:-----------------|:--------------------|
179181
| V004 | 1.2.655 | V002 |
180182
| V003 | 1.2.547 | V002 |
@@ -201,15 +203,15 @@ On Disk Data:
201203
- `Working DataVersion` 表示 Databend-meta 操作的版本。
202204
- `On Disk Data -- DataVersion` 表示磁盘数据的版本。
203205

204-
Working DataVersion 必须大于或等于磁盘 DataVersion;否则,系统将崩溃
206+
Working DataVersion 必须大于或等于磁盘 DataVersion;否则,它将 panic
205207

206208
磁盘 DataVersion 必须与当前 Databend-meta 版本兼容。
207-
如果不兼容,系统将提示用户降级 Databend-meta 并崩溃退出
209+
如果不兼容,系统将提示用户降级 Databend-meta 并以 panic 退出
208210

209211
### 自动升级
210212

211-
`databend-meta` 启动时,如果磁盘数据与 Working DataVersion 兼容,则会升级磁盘数据
212-
升级进度将打印到 `stderr` 和 INFO 级别的日志文件中,例如:
213+
`databend-meta` 启动时,如果磁盘数据与 Working DataVersion 兼容,则会进行升级
214+
升级进度将打印到 `stderr` 并记录到日志文件中,例如:
213215

214216
```text
215217
Upgrade on-disk data
@@ -222,15 +224,15 @@ Finished upgrading: version: V001, upgrading: None
222224
Write header: version: V001, upgrading: None
223225
```
224226

225-
如果 `databend-meta` 在升级完成之前崩溃
226-
它将清除部分升级的数据并在再次启动时恢复升级
227+
如果 `databend-meta` 在升级完成前崩溃
228+
它将在启动时清除部分升级的数据并恢复升级
227229

228230
### 备份数据兼容性
229231

230-
- 导出的备份数据**只能**使用相同版本的 `databend-metactl` 导入。
232+
- 导出的备份数据 **只能** 使用相同版本的 `databend-metactl` 导入。
231233

232234
- 备份的第一行是版本,例如:
233235
`["header",{"DataHeader":{"key":"header","value":{"version":"V100","upgrading":null}}}]`
234236

235-
- **不会**在导入时进行自动升级
237+
- 导入时 **不会** 进行自动升级
236238
自动升级仅在 `databend-meta` 启动时进行。

0 commit comments

Comments
 (0)