From 689f69d66a1f68c8148f615bf9ca32b174d6e7dd Mon Sep 17 00:00:00 2001 From: Yu Juncen Date: Thu, 9 Jan 2025 17:14:55 +0800 Subject: [PATCH 01/12] added compact log backup --- br/br-compact-log-backup.md | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 br/br-compact-log-backup.md diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md new file mode 100644 index 000000000000..fe48edce5c8a --- /dev/null +++ b/br/br-compact-log-backup.md @@ -0,0 +1,77 @@ +--- +title: 压缩日志备份 +summary: 了解如何通过将日志备份压缩成 SST 格式来加速未来的时间点恢复(Point in Time Restore, PiTR)。 +--- + +# 压缩日志备份 + +Log Backup 会以一种高度非结构化的方式备份下来所有写入。这些写入未经排序,因此只能通过 Raft 协议将他们一个个写入到集群。这个过程中会遇到诸多问题:例如写放大或恢复后续的集群性能不及预期。 + +因此,目前建议尽量不要让某次 PiTR 中包含过多的 Log 部分,为了减少 Log 部分,需要多次进行全量备份,全量备份对于业务又会有一定影响,所以多次全量备份并不令人愉悦。在 v8.5.0 之后,压缩日志备份(Compact Log Backup)将提供一种新的解决方案:离线地将 Log 部分的非结构化数据重写为结构化的 SST,以期在提升恢复的性能的同时降低需求全量备份的频率。 + +## 使用限制 + +压缩日志备份并不能完全替代定期全量备份——为了保证能进行 PiTR,日志部分的 MVCC 并不会在压缩过程中被清除,因此日志部分会无限增大。如果完全不进行全量备份,恢复如此巨大的增量数据会导致问题。 + +**目前压缩日志备份功能还处在高度试验阶段**,在 `v8.5.0` 中,只有“压缩日志”本身这个功能被提供,一些重要的配套还需等到后续版本发布: + +- 恢复被压缩的日志 +- 清理被压缩的日志 +- 使用 TiDB operator 轻易地创建临时节点来离线压缩日志 + +## 使用方法 + +目前仅仅支持手动压缩日志备份,这个流程颇为复杂。**建议在生产中使用后续发布的 TiDB operator 方案来进行压缩**。 + +### 手动压缩 + +手动压缩日志备份需要两个工具:`tikv-ctl` 和 `br`。 + +#### 第一步:编码 Storage 为 Base64 + +TiKV 并不能直接接受并解析一个像是 `s3://astro/tpcc-1000-incr-with-boundaries` 这样的 URL;但是生成 SST 的工作暂时又非它不可。因此第一步是把 Storage 编码成它可以识别的形式。 + +```shell +br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds +``` + +注意其中的 `--load-cerds` 选项。如果带上了这个选项,编码出来的 base64 中会包含从 BR 当前环境中加载的密钥信息,请注意保护。 + +此处的 storage 应该和 Log Backup 任务的 `log status` 命令输出的 storage 相同。 + +该命令的输出看起来像是: + +```text +Credientials are encoded to the base64 string. DON'T share this with untrusted people! +Gl8KEWh0dHA6Ly9taW5pbzo5MDAwEgl1cy1lYXN0LTEaBWFzdHJvIh50cGNjLTEwMDAtaW5jci13aXRoLWJvdW5kYXJpZXNCCm1pbmlvYWRtaW5KCm1pbmlvYWRtaW5QAQ== +``` + +#### 第二步:开始压缩日志 + +有了 storage 的 base64 之后,你可以通过 `tikv-ctl` 发起压缩: + +```shell +tikv-ctl compact-log-backup \ + --from "" --until "" \ + -s 'bAsE64==' -N 8 +``` + +这些参数的含义如下: + +- `-s`:前文获得的 Storage 的 base64。 +- `-N`:最大同时进行的压缩日志任务的数量。 +- `--from`: 压缩开始的时间戳。 +- `--until`: 压缩结束的时间戳。 + +`--from` 和 `--until` 这对参数用于选择将要压缩的文件,任何包含了**至少一个**在该时间区间内的写入的 Log 将会被**整个**送去压缩。 +因此最终 Compact 的结果中可能包含该时间范围以外的写入。 + +其中,某个特定时间点的 TSO 可以通过如下 shell 脚本获取: + +```shell +echo $(( $(date --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) +``` + +> **提示**: +> +> 如果你是 macOS 用户,执行上述脚本时,你可能需要预先通过 Homebrew 安装 `coreutils`,并且使用 `gdate` 而非 `date`。 From 605dd0bb278ef2688caef2250919d2a3df715590 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Thu, 20 Feb 2025 17:01:17 +0800 Subject: [PATCH 02/12] Apply suggestions from code review --- br/br-compact-log-backup.md | 79 ++++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 28 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index fe48edce5c8a..7cc96ea968c6 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -1,54 +1,74 @@ --- title: 压缩日志备份 -summary: 了解如何通过将日志备份压缩成 SST 格式来加速未来的时间点恢复(Point in Time Restore, PiTR)。 +summary: 了解如何通过压缩日志备份为 SST 格式来提升按时间点恢复 (Point-in-time recovery, PITR) 的效率。 --- # 压缩日志备份 -Log Backup 会以一种高度非结构化的方式备份下来所有写入。这些写入未经排序,因此只能通过 Raft 协议将他们一个个写入到集群。这个过程中会遇到诸多问题:例如写放大或恢复后续的集群性能不及预期。 +本文介绍如何通过压缩日志备份 (Compact Log Backup) 为 [SST](/glossary.md#static-sorted-table--sorted-string-table-sst) 格式来提升按时间点恢复 (Point-in-time recovery, [PITR](/glossary.md#point-in-time-recovery-pitr)) 的效率。 -因此,目前建议尽量不要让某次 PiTR 中包含过多的 Log 部分,为了减少 Log 部分,需要多次进行全量备份,全量备份对于业务又会有一定影响,所以多次全量备份并不令人愉悦。在 v8.5.0 之后,压缩日志备份(Compact Log Backup)将提供一种新的解决方案:离线地将 Log 部分的非结构化数据重写为结构化的 SST,以期在提升恢复的性能的同时降低需求全量备份的频率。 +## 功能概述 -## 使用限制 +传统日志备份以一种高度非结构化的方式存储写入操作,可能导致以下问题: + +- 恢复性能下降:无序数据需通过 Raft 协议逐条写入集群。 +- 写放大效应:重复写入操作增加存储压力。 +- 全量备份依赖:需频繁执行全量备份以控制恢复数据量,对业务有一定影响。 + +从 v9.0.0 开始,压缩日志备份功能提供了离线重组能力,可将日志备份的非结构化数据转换为结构化的 SST 文件,从而实现以下改进: -压缩日志备份并不能完全替代定期全量备份——为了保证能进行 PiTR,日志部分的 MVCC 并不会在压缩过程中被清除,因此日志部分会无限增大。如果完全不进行全量备份,恢复如此巨大的增量数据会导致问题。 +- 提升恢复性能:结构化数据支持高效批量写入。 +- 优化存储空间:减少冗余数据存储。 +- 延长全量备份间隔:降低对业务的影响。 -**目前压缩日志备份功能还处在高度试验阶段**,在 `v8.5.0` 中,只有“压缩日志”本身这个功能被提供,一些重要的配套还需等到后续版本发布: +## 使用限制 + +压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留 MVCC 数据,长期不进行全量备份将导致存储膨胀和恢复问题。 -- 恢复被压缩的日志 -- 清理被压缩的日志 -- 使用 TiDB operator 轻易地创建临时节点来离线压缩日志 +> **警告:** +> +> - 该功能目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。 +> - 在 v9.0.0 中,只有“压缩日志”功能可用,以下相关配套功能计划在未来版本发布: +> +> - 恢复被压缩的日志 +> - 清理被压缩的日志 +> - 使用 TiDB Operator 创建临时节点来离线压缩日志 ## 使用方法 -目前仅仅支持手动压缩日志备份,这个流程颇为复杂。**建议在生产中使用后续发布的 TiDB operator 方案来进行压缩**。 +目前仅支持手动压缩日志备份,流程较为复杂。**建议在生产中使用后续发布的 TiDB Operator 方案来压缩日志备份**。 ### 手动压缩 +本节介绍手动压缩日志备份的操作步骤。 + +#### 前提条件 + 手动压缩日志备份需要两个工具:`tikv-ctl` 和 `br`。 -#### 第一步:编码 Storage 为 Base64 +#### 第 1 步:将存储编码为 Base64 -TiKV 并不能直接接受并解析一个像是 `s3://astro/tpcc-1000-incr-with-boundaries` 这样的 URL;但是生成 SST 的工作暂时又非它不可。因此第一步是把 Storage 编码成它可以识别的形式。 +执行以下编码命令: ```shell br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds ``` -注意其中的 `--load-cerds` 选项。如果带上了这个选项,编码出来的 base64 中会包含从 BR 当前环境中加载的密钥信息,请注意保护。 - -此处的 storage 应该和 Log Backup 任务的 `log status` 命令输出的 storage 相同。 +> **注意:** +> +> - 如果执行以上命令时带了 `--load-cerds` 这个选项,编码出来的 Base64 中会包含从 BR 当前环境中加载的密钥信息,请注意安全保护和权限管控。 +> - 此处的 storage 应该和日志备份任务的 `log status` 命令输出的 storage 相同。 -该命令的输出看起来像是: +命令输出示例如下: ```text Credientials are encoded to the base64 string. DON'T share this with untrusted people! Gl8KEWh0dHA6Ly9taW5pbzo5MDAwEgl1cy1lYXN0LTEaBWFzdHJvIh50cGNjLTEwMDAtaW5jci13aXRoLWJvdW5kYXJpZXNCCm1pbmlvYWRtaW5KCm1pbmlvYWRtaW5QAQ== ``` -#### 第二步:开始压缩日志 +#### 第 2 步:执行日志压缩 -有了 storage 的 base64 之后,你可以通过 `tikv-ctl` 发起压缩: +有了存储的 Base64 之后,你可以执行以下命令通过 `tikv-ctl` 发起压缩: ```shell tikv-ctl compact-log-backup \ @@ -56,22 +76,25 @@ tikv-ctl compact-log-backup \ -s 'bAsE64==' -N 8 ``` -这些参数的含义如下: +参数解释如下: -- `-s`:前文获得的 Storage 的 base64。 -- `-N`:最大同时进行的压缩日志任务的数量。 -- `--from`: 压缩开始的时间戳。 -- `--until`: 压缩结束的时间戳。 +- `-s`:已获得的存储的 Base64。 +- `-N`:最大并发压缩日志任务的数量。 +- `--from`:压缩开始的时间戳。 +- `--until`:压缩结束的时间戳。 -`--from` 和 `--until` 这对参数用于选择将要压缩的文件,任何包含了**至少一个**在该时间区间内的写入的 Log 将会被**整个**送去压缩。 -因此最终 Compact 的结果中可能包含该时间范围以外的写入。 +`--from` 和 `--until` 这对参数指定了压缩操作的时间范围。压缩操作将处理所有包含指定时间范围内任意写入的日志文件,因此最终生成的 SST 文件可能包含该范围外的写入数据。 -其中,某个特定时间点的 TSO 可以通过如下 shell 脚本获取: +要获取某个特定时间点的时间戳,请执行以下命令: ```shell echo $(( $(date --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) ``` -> **提示**: +> **注意:** +> +> 如果你是 macOS 用户,需要先使用 Homebrew 安装 `coreutils`,并且使用 `gdate` 而非 `date`。 > -> 如果你是 macOS 用户,执行上述脚本时,你可能需要预先通过 Homebrew 安装 `coreutils`,并且使用 `gdate` 而非 `date`。 +> ```shell +> echo $(( $(gdate --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) +> ``` From eb28030342471f6509a68fcdb493b902da6076ea Mon Sep 17 00:00:00 2001 From: lilin90 Date: Thu, 20 Feb 2025 17:10:31 +0800 Subject: [PATCH 03/12] Add it to TOC.md --- TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/TOC.md b/TOC.md index 79adf0d7ef7f..302e81d772ba 100644 --- a/TOC.md +++ b/TOC.md @@ -241,6 +241,7 @@ - [使用概述](/br/br-use-overview.md) - [快照备份与恢复](/br/br-snapshot-guide.md) - [日志备份与 PITR](/br/br-pitr-guide.md) + - [压缩日志备份](/br/br-compact-log-backup.md) - [实践示例](/br/backup-and-restore-use-cases.md) - [备份存储](/br/backup-and-restore-storages.md) - br cli 命令手册 From 5740db4bae551f2e1ff9a40e246c362d2a217d9c Mon Sep 17 00:00:00 2001 From: Yu Juncen Date: Mon, 3 Mar 2025 11:41:22 +0800 Subject: [PATCH 04/12] address comments --- br/br-compact-log-backup.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index 7cc96ea968c6..84466d1bc0aa 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -68,10 +68,10 @@ Gl8KEWh0dHA6Ly9taW5pbzo5MDAwEgl1cy1lYXN0LTEaBWFzdHJvIh50cGNjLTEwMDAtaW5jci13aXRo #### 第 2 步:执行日志压缩 -有了存储的 Base64 之后,你可以执行以下命令通过 `tikv-ctl` 发起压缩: +有了存储的 Base64 之后,你可以执行以下命令通过 `tikv-ctl` 发起压缩,注意 `tikv-ctl` 默认日志等级为 `warning`,启用 `--log-level info` 来获得更多信息: ```shell -tikv-ctl compact-log-backup \ +tikv-ctl --log-level info compact-log-backup \ --from "" --until "" \ -s 'bAsE64==' -N 8 ``` @@ -98,3 +98,7 @@ echo $(( $(date --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) > ```shell > echo $(( $(gdate --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) > ``` + +### 使用限制 + +目前不支持压缩启用了 Local Encryption 的备份档案。 From 3208f7e4a102c6ead2edbf1d59fd644a0eba18c2 Mon Sep 17 00:00:00 2001 From: Yu Juncen Date: Tue, 4 Mar 2025 11:40:45 +0800 Subject: [PATCH 05/12] added to TOC.md --- TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/TOC.md b/TOC.md index 302e81d772ba..22da20cae833 100644 --- a/TOC.md +++ b/TOC.md @@ -254,6 +254,7 @@ - [批量建表](/br/br-batch-create-table.md) - [断点备份](/br/br-checkpoint-backup.md) - [断点恢复](/br/br-checkpoint-restore.md) + - [压缩日志备份](/br/br-compact-log-backup.md) - [使用 Dumpling 和 TiDB Lightning 备份与恢复](/backup-and-restore-using-dumpling-lightning.md) - [备份与恢复 RawKV](/br/rawkv-backup-and-restore.md) - [增量备份与恢复](/br/br-incremental-guide.md) From 709deb4fed6f04c6ea6c364c03c6a36d6e233544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=B1=E5=B2=9A?= <36239017+YuJuncen@users.noreply.github.com> Date: Mon, 10 Mar 2025 16:12:48 +0800 Subject: [PATCH 06/12] remove announce of experimental --- br/br-compact-log-backup.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index 84466d1bc0aa..77c8ef5b66f8 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -25,15 +25,6 @@ summary: 了解如何通过压缩日志备份为 SST 格式来提升按时间点 压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留 MVCC 数据,长期不进行全量备份将导致存储膨胀和恢复问题。 -> **警告:** -> -> - 该功能目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。 -> - 在 v9.0.0 中,只有“压缩日志”功能可用,以下相关配套功能计划在未来版本发布: -> -> - 恢复被压缩的日志 -> - 清理被压缩的日志 -> - 使用 TiDB Operator 创建临时节点来离线压缩日志 - ## 使用方法 目前仅支持手动压缩日志备份,流程较为复杂。**建议在生产中使用后续发布的 TiDB Operator 方案来压缩日志备份**。 From c7c468b9f0296cc3b10ed14735548850e3a19001 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Tue, 11 Mar 2025 10:09:10 +0800 Subject: [PATCH 07/12] br: combine two limitation sections --- br/br-compact-log-backup.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index 77c8ef5b66f8..e52490af0017 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -23,7 +23,8 @@ summary: 了解如何通过压缩日志备份为 SST 格式来提升按时间点 ## 使用限制 -压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留 MVCC 数据,长期不进行全量备份将导致存储膨胀和恢复问题。 +- 压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留 MVCC 数据,长期不进行全量备份将导致存储膨胀和恢复问题。 +- 目前不支持压缩启用了 Local Encryption 的备份。 ## 使用方法 @@ -89,7 +90,3 @@ echo $(( $(date --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) > ```shell > echo $(( $(gdate --date '2004-05-06 15:02:01Z' +%s%3N) << 18 )) > ``` - -### 使用限制 - -目前不支持压缩启用了 Local Encryption 的备份档案。 From 9a10115af70d5e3ab8f24b46644411140199e932 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Tue, 11 Mar 2025 11:01:37 +0800 Subject: [PATCH 08/12] toc: avoid duplicate topics --- TOC.md | 1 - 1 file changed, 1 deletion(-) diff --git a/TOC.md b/TOC.md index 22da20cae833..302e81d772ba 100644 --- a/TOC.md +++ b/TOC.md @@ -254,7 +254,6 @@ - [批量建表](/br/br-batch-create-table.md) - [断点备份](/br/br-checkpoint-backup.md) - [断点恢复](/br/br-checkpoint-restore.md) - - [压缩日志备份](/br/br-compact-log-backup.md) - [使用 Dumpling 和 TiDB Lightning 备份与恢复](/backup-and-restore-using-dumpling-lightning.md) - [备份与恢复 RawKV](/br/rawkv-backup-and-restore.md) - [增量备份与恢复](/br/br-incremental-guide.md) From ce74d389d361f880f551c0bec5e216a80e19837d Mon Sep 17 00:00:00 2001 From: lilin90 Date: Tue, 11 Mar 2025 15:31:48 +0800 Subject: [PATCH 09/12] Update format --- br/br-compact-log-backup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index e52490af0017..f56f35cd1e64 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -49,7 +49,7 @@ br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds > **注意:** > > - 如果执行以上命令时带了 `--load-cerds` 这个选项,编码出来的 Base64 中会包含从 BR 当前环境中加载的密钥信息,请注意安全保护和权限管控。 -> - 此处的 storage 应该和日志备份任务的 `log status` 命令输出的 storage 相同。 +> - 此处的 `--storage` 值应该和日志备份任务的 `log status` 命令输出的 storage 相同。 命令输出示例如下: From 871637f4fc8079f7ba2a48943db53683fa14e068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=B1=E5=B2=9A?= <36239017+YuJuncen@users.noreply.github.com> Date: Tue, 11 Mar 2025 16:51:55 +0800 Subject: [PATCH 10/12] Apply suggestions from code review --- br/br-compact-log-backup.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index f56f35cd1e64..77f076e7debb 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -12,18 +12,18 @@ summary: 了解如何通过压缩日志备份为 SST 格式来提升按时间点 传统日志备份以一种高度非结构化的方式存储写入操作,可能导致以下问题: - 恢复性能下降:无序数据需通过 Raft 协议逐条写入集群。 -- 写放大效应:重复写入操作增加存储压力。 +- 写放大:所有写入必须从 LSM Tree 的 L0 开始被逐级别 compact 到底层。 - 全量备份依赖:需频繁执行全量备份以控制恢复数据量,对业务有一定影响。 -从 v9.0.0 开始,压缩日志备份功能提供了离线重组能力,可将日志备份的非结构化数据转换为结构化的 SST 文件,从而实现以下改进: +从 v9.0.0 开始,压缩日志备份功能提供了离线压缩能力,可将日志备份的非结构化数据转换为结构化的 SST 文件,从而实现以下改进: -- 提升恢复性能:结构化数据支持高效批量写入。 -- 优化存储空间:减少冗余数据存储。 -- 延长全量备份间隔:降低对业务的影响。 +- SST 可以被快速导入集群,从而提升恢复性能。 +- 压缩过程中消除重复记录,从而减少空间消耗。 +- 在确保 RTO 的前提下允许用户设置更长的全量备份间隔,从而降低对业务的影响。 ## 使用限制 -- 压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留 MVCC 数据,长期不进行全量备份将导致存储膨胀和恢复问题。 +- 压缩日志备份并不是全量备份的替代方案,需与定期全量备份配合使用。为了保证能进行 PITR,日志备份的压缩过程会保留所有 MVCC 版本,长期不进行全量备份将导致存储膨胀并且可能在未来恢复时遇到问题。 - 目前不支持压缩启用了 Local Encryption 的备份。 ## 使用方法 @@ -55,7 +55,7 @@ br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds ```text Credientials are encoded to the base64 string. DON'T share this with untrusted people! -Gl8KEWh0dHA6Ly9taW5pbzo5MDAwEgl1cy1lYXN0LTEaBWFzdHJvIh50cGNjLTEwMDAtaW5jci13aXRoLWJvdW5kYXJpZXNCCm1pbmlvYWRtaW5KCm1pbmlvYWRtaW5QAQ== +sOmEBaSE64TeXts== ``` #### 第 2 步:执行日志压缩 From bd39c685ff482e94dc7026351af2a5eb5ef1f3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=B1=E5=B2=9A?= <36239017+YuJuncen@users.noreply.github.com> Date: Tue, 11 Mar 2025 16:52:40 +0800 Subject: [PATCH 11/12] Update br/br-compact-log-backup.md --- br/br-compact-log-backup.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index 77f076e7debb..93f82eb22cdb 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -51,13 +51,6 @@ br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds > - 如果执行以上命令时带了 `--load-cerds` 这个选项,编码出来的 Base64 中会包含从 BR 当前环境中加载的密钥信息,请注意安全保护和权限管控。 > - 此处的 `--storage` 值应该和日志备份任务的 `log status` 命令输出的 storage 相同。 -命令输出示例如下: - -```text -Credientials are encoded to the base64 string. DON'T share this with untrusted people! -sOmEBaSE64TeXts== -``` - #### 第 2 步:执行日志压缩 有了存储的 Base64 之后,你可以执行以下命令通过 `tikv-ctl` 发起压缩,注意 `tikv-ctl` 默认日志等级为 `warning`,启用 `--log-level info` 来获得更多信息: From f0c4d55304b4b9ee8c954123aed75826661e86af Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 11 Mar 2025 17:51:46 +0800 Subject: [PATCH 12/12] Update wording --- br/br-compact-log-backup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br/br-compact-log-backup.md b/br/br-compact-log-backup.md index 93f82eb22cdb..d0a978607a68 100644 --- a/br/br-compact-log-backup.md +++ b/br/br-compact-log-backup.md @@ -19,7 +19,7 @@ summary: 了解如何通过压缩日志备份为 SST 格式来提升按时间点 - SST 可以被快速导入集群,从而提升恢复性能。 - 压缩过程中消除重复记录,从而减少空间消耗。 -- 在确保 RTO 的前提下允许用户设置更长的全量备份间隔,从而降低对业务的影响。 +- 在确保 RTO (Recovery Time Objective) 的前提下允许用户设置更长的全量备份间隔,从而降低对业务的影响。 ## 使用限制