obv4中以下哪些场景需要先转储?并解释

哪些场景需要先转储?
A、大量数据导出
B、启停OBserver
C、复杂查询
D、物理备份前

1 个赞
  • A 大量数据导出:逻辑导出,不需要提前转储。
  • B 启停 OBServer:正常启停不需要强制转储。
  • C 复杂查询:只跟 SQL 执行、索引、缓存有关,和转储无关。
  • D 物理备份前 物理备份必须保证大部分数据在磁盘上,内存数据尽量少,否则备份不完整、效率极低、容易失败。所以 OB 物理备份前,一般都要先做转储。
3 个赞

@论坛小助手

1 个赞

在 OceanBase V4.x 版本中,以下场景需要先进行转储操作:

D. 物理备份前:根据文档内容,进行物理备份前,通常需要先执行转储操作以确保数据的一致性和完整性。转储可以理解为对当前数据库状态的一次快照,因此在备份之前进行转储可以避免备份过程中发生的数据变化导致的数据不一致问题。

其他选项并未在提供的文档片段中明确指出需要进行转储操作。

检索到的文档如下:

  1. MAJOR 和 MINOR
  2. 使用 OCP 进行运维
2 个赞

为什么启停 OBServer不需要,而重启observer需要转储

1 个赞

@论坛小助手

1 个赞

启停 OBServer 时,OceanBase 数据库会通过 Paxos 协议在多个副本间达成多数派提交,以维护副本之间的数据一致性。当停止 OBServer 节点时,Leader 会被迁移到其他节点,以确保数据的高可用性和业务的连续性。因此,启停 OBServer 不需要额外的转储操作。

然而,重启 observer 时,为了保证数据的一致性和完整性,OceanBase 数据库会进行转储操作。转储操作会将内存中的数据写入磁盘,形成 SSTable 文件。这是因为重启过程中可能会丢失部分内存中的数据,转储可以确保数据不会丢失,并且在重启后能够快速恢复服务。

详情请参考:

  1. 重启节点
  2. 转储管理概述
  3. 数据库层高可用
  4. 使用 obd 进行运维
2 个赞

厉害啊

2 个赞

学到了

1 个赞

厉害啊

是个学习的好机会

学习了