【 使用环境 】测试环境
【 OB or 其他组件 】observer
【 使用版本 】4.x
【问题描述】像全局一致性快照这类功能该如何验证数据是否支持此功能
1 个赞
为了验证全局一致性快照功能是否正确支持以及如何工作,您可以按照以下步骤来进行:
-
了解全局一致性快照的基本概念:
- 在 OceanBase 数据库 V2.0 版本中实现了全局一致性快照功能,它解决了跨节点的一致性读和保证因果序的问题。
- 全局时间戳(GTS)服务是纯软件实现的,不依赖特定的硬件设备,使得 OceanBase 数据库能够服务更广泛的专有云客户。
-
验证全局一致性快照功能:
- 弱一致性读:确保 OceanBase 数据库的弱一致性读依旧提供了事务的一致性快照,不会返回未提交事务和一半事务的情况。
- 强一致性读:验证 OceanBase 数据库的强一致性读分为两种,分别是事务级别读版本号和语句级别版本号,分别提供给快照读和读已提交两个隔离级别使用,需要提供返回事务一致性点的能力。
- 只读事务:确保 OceanBase 数据库的只读语句也是要求提供强一致性读相同的能力,需要提供返回事务一致性点的能力。
- 备份恢复点:验证 OceanBase 数据库是否能够提供可以备份到一个事务一致性快照,防止备份了多余、未提交的事务或者没有备份需要备份的事务。
-
使用 DBMS 包管理快照:
- OceanBase 数据库提供了 DBMS 包,您可以使用该包来管理 WR 相关的集群快照,包括手动创建快照、删除特定的快照,以及通过修改定时器线程的时间间隔来调整集群快照的采集频率。
- 注意:该功能仅支持在 SYS 租户下使用,并且在升级过程中不可用。
-
测试场景:
- 构建一个测试场景,其中包含多个事务,这些事务涉及多个表或分区,并且跨越不同的节点。
- 在这些事务中,一些事务应该被提交,而其他事务保持未提交状态。
- 使用不同的隔离级别(例如 READ COMMITTED 和 REPEATABLE READ)执行查询,观察返回的结果是否符合预期的一致性级别。
-
具体操作:
- 执行一系列事务,包括提交和未提交的事务。
- 使用不同的隔离级别执行查询,观察返回的结果。
- 确保未提交的事务不会影响其他事务的查询结果。
- 验证只读事务是否能正确地返回强一致性读的结果。
- 测试备份和恢复过程,确保备份点是一致性的。
通过以上步骤,您应该能够验证全局一致性快照功能是否正常工作,并且能够正确地支持各种数据一致性需求。如果在测试过程中遇到任何问题,建议参考官方文档或联系 OceanBase 支持团队获取进一步的帮助。
具体信息可参考以下文档:
2 个赞
小助手的回复解决问题了吗?
已解决
很高兴听到您的问题已经得到解决!如果您还有其他关于 OceanBase 的疑问或需要进一步的帮助,请随时告诉我。无论是技术细节还是使用上的问题,我都将尽力为您提供支持。
具体信息可参考以下文档:
- RANDOM
- 删除资源管理计划
- INITIALIZE
- TERMINATE
- 删除资源组
- rdma_io_thread_count
- OceanBase 术语
- 通过 ODC 连接 OceanBase 数据库
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)