系统租户只支持单点写入

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000507668
官文:系统租户仅有一个1号日志流,只支持单点写入,不具备扩展能力。

问题:系统租户只支持单点写入,是什么意思?三个observer节点,它只能向一个节点写入?

sys租户有且仅有一个1号日志流,一个日志流仅有1个leader,所以是单点写入。

相同编号的unit,组成一个日志流。 但是系统租户可以通过unit_num增加unit啊,那就不增加了日志流吗?

如果能通过unit_num来增加日志流数量,和上面提到的sys租户只有一个日志流矛盾。

sys和meta租户有限制:有且仅有一个1号日志流。

OB 集群里其他租户能正常工作,很大程度依赖 SYS 租户的性能和稳定性。 SYS 租户里跑的都是内部 SQL,如果 SYS 租户的 UNIT_NUM设置为 2 的话,会导致 SYS 租户内部有很多 远程SQL 或者分布式 SQL,内部SQL性能会下降很多。所以, SYS 租户禁止了这个设置,也没必要。
此外,SYS 租户的 PRIMARY_ZONE建议就设置为 单 ZONE,这样内部表的主副本都在同一个视图。当然设置为 多个ZONE 或者 RANDOM 也是可以,只是没什么用。因为 SYS 租户所有内部表都在一个表分组 OceanBase 下面。 包括 业务租户的Meta租户用到的内部表也都在一个 表分组下。

在 OB 的 两次 TPC-C 测试里,集群节点规模数量在 1500 台以上 ,SYS 租户仍然只有3台机器,足够满足集群管理需要。所以,也不需要纠结 SYS 租户3台机器能力够不够。

那么,SYS 租户和 Meta 在单个 ZONE 就没必要有也不能有两个日志流了。对于 SYS 租户的性能只能靠 OB 内核自己以及 OCP 产品了(OCP 不要写慢SQL)。如果客户还有第三方监控产品访问 SYS 租户,要审核其 SQL。 其他的业务租户常用的优化思路在 SYS 租户上尽量不要去动。少动少出事。

个人观点,仅供参考。