aibase
2024 年8 月 15 日 16:56
#1
创建租户的时候是可以指定租户的primary_zone的。
3.x版本除了租户以外还支持表级、DB 级、tablegroup 级配置 primary Zone 和 Locality;
而4.x仅支持租户级别配置 primary Zone 和 Locality。有以下疑问问题:
问题1 :对于3.x 如果创建租户的时候不设定primary_zone,默认给了什么值?
问题2 :4.x创建租户的时候不设定primary_zone,默认给是RANDOM?
问题3 :对3.x与4.x可以通过什么方式查看租户的primary_zone是否被修改过,有修改的历史记录可追踪查?
问题4 :__all_tenant与__all_tenant_history两个表之间什么关系?每次对_all_tenant的操作都会记录到__all_tenant_history?4.x版本对租户执行一次命令,在__all_tenant_history里面会同时多2条记录(用户租户和meta租户的?)
辞霜
2024 年8 月 15 日 17:22
#3
关于您提到的问题,我们可以逐一分析:
默认的primary_zone设置 :
如何查看租户的primary_zone是否被修改过以及是否有修改历史记录 :
在 OceanBase 中,可以通过查询特定的视图来获取这些信息。不过,直接查看 primary_zone 是否被修改过的功能并不是直接暴露出来的。通常的做法是通过查询相关视图来间接判断。
对于查看 primary_zone 的当前设置,可以直接查询 __all_tenant 视图。例如,要查看某个租户的 primary_zone 设置,可以使用如下 SQL 查询:
SELECT primary_zone FROM __all_tenant WHERE tenant_id = <tenant_id>;
若要了解历史修改情况,可以查询 __all_tenant_history 视图。但是需要注意的是,__all_tenant_history 并不直接记录 primary_zone 的修改历史,而是记录了租户配置的变更历史。因此,要确定 primary_zone 是否被修改过,需要查看该表中与租户配置相关的记录,并从中推断出 primary_zone 是否有变更。
__all_tenant 与 __all_tenant_history 之间的关系 :
__all_tenant 表存储了当前所有租户的配置信息,而 __all_tenant_history 表则记录了租户配置的历史变更记录。
每次对 __all_tenant 中的租户配置进行修改时,并不会立即在 __all_tenant_history 中生成一条记录。只有当租户配置发生实际变化时,才会在 __all_tenant_history 中添加一条记录。
关于在 4.x 版本中对租户执行一次命令时,__all_tenant_history 表里是否会同时增加两条记录(用户租户和 meta 租户),这取决于具体操作。一般来说,对用户租户的修改不会自动影响到 meta 租户,因此通常情况下只会针对被修改的租户生成一条记录。除非操作涉及到同时修改多个租户的情况,否则不会同时为用户租户和 meta 租户生成记录。
综上所述,如果您想要查看 primary_zone 的修改历史,主要依赖于 __all_tenant_history 表中的记录,并结合具体的修改时间点来判断。希望这些信息能帮到您!如果有更具体的需求或疑问,请随时告知。
1 个赞
撑伞接落花
2024 年8 月 15 日 17:32
#4
我觉得 还是3.x 对表单独设置primary zone 更实用,4.x 没这个功能了,可惜!
1 个赞
辞霜
2024 年8 月 15 日 17:37
#5
可能是出于4.x的LS负载均衡考虑取消了吧,这个为什么取消需要去咨询下内核同学
aibase
2024 年8 月 15 日 17:52
#6
感谢解答!
如果不显式设置 primary_zone,默认值为不是null。刚刚做了实验测试应该是
下面是在4.x创建租户的
而在3.x创建租户
之前产生疑问应该是跟人一起使用了同一环境,其他修改过primary_zone。
1 个赞
aibase
2024 年8 月 15 日 17:56
#7
辞霜:
关于在 4.x 版本中对租户执行一次命令时,__all_tenant_history 表里是否会同时增加两条记录(用户租户和 meta 租户),这取决于具体操作。一般来说,对用户租户的修改不会自动影响到 meta 租户,因此通常情况下只会针对被修改的租户生成一条记录。除非操作涉及到同时修改多个租户的情况,否则不会同时为用户租户和 meta 租户生成记录。
有环境的话,修改了primary_zone看看是不是2条?
辞霜
2024 年8 月 15 日 17:56
#8
抱歉 多谢提醒,4.x默认是RANDOM,3.x需要手动测试一下
aibase
2024 年8 月 15 日 17:58
#9
见上面的图3跟4都建了租户测试了,应该都是默认不指定的时候是RANDOM。
导致我产生疑问的应该是测试环境多人使用,有其他人修改导致的。
1 个赞
皇甫侯
2024 年8 月 15 日 18:48
#10
帮忙补充下,__all_rootservice_job表会记录租户是否修改过primary_zone
aibase
2024 年8 月 16 日 11:01
#11
3.X 还是4.x?
好像3.x的没查到有修改primary_zone的 记录。
皇甫侯
2024 年8 月 16 日 14:12
#12
4.x有 3.x手上没环境没办法确定但是应该也有,每修改一次租户的primary_zone就会有一个对应的RS任务
1 个赞