全局一致性快照

【 使用环境 】测试环境
【 OB or 其他组件 】observer
【 使用版本 】4.x
【问题描述】像全局一致性快照这类功能该如何验证数据是否支持此功能

@论坛小助手

1 个赞

为了验证全局一致性快照功能是否正确支持以及如何工作,您可以按照以下步骤来进行:

  1. 了解全局一致性快照的基本概念

    • 在 OceanBase 数据库 V2.0 版本中实现了全局一致性快照功能,它解决了跨节点的一致性读和保证因果序的问题。
    • 全局时间戳(GTS)服务是纯软件实现的,不依赖特定的硬件设备,使得 OceanBase 数据库能够服务更广泛的专有云客户。
  2. 验证全局一致性快照功能

    • 弱一致性读:确保 OceanBase 数据库的弱一致性读依旧提供了事务的一致性快照,不会返回未提交事务和一半事务的情况。
    • 强一致性读:验证 OceanBase 数据库的强一致性读分为两种,分别是事务级别读版本号和语句级别版本号,分别提供给快照读和读已提交两个隔离级别使用,需要提供返回事务一致性点的能力。
    • 只读事务:确保 OceanBase 数据库的只读语句也是要求提供强一致性读相同的能力,需要提供返回事务一致性点的能力。
    • 备份恢复点:验证 OceanBase 数据库是否能够提供可以备份到一个事务一致性快照,防止备份了多余、未提交的事务或者没有备份需要备份的事务。
  3. 使用 DBMS 包管理快照

    • OceanBase 数据库提供了 DBMS 包,您可以使用该包来管理 WR 相关的集群快照,包括手动创建快照、删除特定的快照,以及通过修改定时器线程的时间间隔来调整集群快照的采集频率。
    • 注意:该功能仅支持在 SYS 租户下使用,并且在升级过程中不可用。
  4. 测试场景

    • 构建一个测试场景,其中包含多个事务,这些事务涉及多个表或分区,并且跨越不同的节点。
    • 在这些事务中,一些事务应该被提交,而其他事务保持未提交状态。
    • 使用不同的隔离级别(例如 READ COMMITTED 和 REPEATABLE READ)执行查询,观察返回的结果是否符合预期的一致性级别。
  5. 具体操作

    • 执行一系列事务,包括提交和未提交的事务。
    • 使用不同的隔离级别执行查询,观察返回的结果。
    • 确保未提交的事务不会影响其他事务的查询结果。
    • 验证只读事务是否能正确地返回强一致性读的结果。
    • 测试备份和恢复过程,确保备份点是一致性的。

通过以上步骤,您应该能够验证全局一致性快照功能是否正常工作,并且能够正确地支持各种数据一致性需求。如果在测试过程中遇到任何问题,建议参考官方文档或联系 OceanBase 支持团队获取进一步的帮助。

具体信息可参考以下文档:

2 个赞

小助手的回复解决问题了吗?

已解决

很高兴听到您的问题已经得到解决!如果您还有其他关于 OceanBase 的疑问或需要进一步的帮助,请随时告诉我。无论是技术细节还是使用上的问题,我都将尽力为您提供支持。

具体信息可参考以下文档:

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)