关于合并版本数与undo_retention的疑问

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】ob server 3.2
【问题描述】

  • max_kept_major_version_number默认值为2,参数代表SSTable中保留的数据合并版本数。
  • undo_retention参数代表undo数据保留的时间。

问题:存在一条数据,数据随着时间进行了多次update,发生了如下变化:
(1,‘a1’)----> (‘1,a2’) —> (1,‘a3’) → (1,‘a4’)

  • 如果在(1,‘a4’)之后,执行了合并操作,假如此时(1,‘a1’)还在undo_retention包含时间范围之,我能通过闪回查询到(1,‘a1’)和(1,‘a2’)和(1,‘a3’)的数据吗?
  • 如果在(1,‘a4’)之后,执行了合并操作,假如此时(1,‘a3’)还在undo_retention包含时间范围之,我能通过闪回查询到(1,‘a1’)和(1,‘a2’)和(1,‘a3’)的数据吗?

1.可以
2.不保证可以,有极小概率比如建索引保留了一小段时间的这些数据。但基本可以认为不能查到。

1 个赞