普通租户具备一个实例所应该具有的所有特性:
- 可以创建自己的用户
- 可以创建数据库(database)、表(table)等所有客体对象
- 有自己独立的系统表和系统视图
- 有自己独立的系统变量
- 数据库实例所具备的其他特性
所有用户数据的元信息都存储在普通租户下,所以每个租户都有自己的名字空间,并且彼此隔离不可访问。
系统租户管理所有普通租户,系统租户与普通租户之间的层级关系如下图所示。
虽然普通租户与系统租户是独立且隔离的,但普通租户无法完成自举。普通租户系统表的元数据信息是引用了系统租户的元数据信息;普通租户系统表的位置信息存储在系统租户的 __all_root_table 表中。
普通租户系统表的对象元数据信息和位置信息的分布如下图所示。

根据上图可知:
- 副本位置信息的发现
当需要发现一个用户表分区的副本位置时,需要找到 __all_tenant_meta_table 表,而找到 __all_tenant_meta_table 表需要找到 __all_root_table 表,再根据 __all_root_table 表找到 __all_core_table 表的位置,最后追溯到 RS 的位置。
- 对象元数据信息
例如,租户下的 __all_table 表存储了本集群下所有的用户表的信息,租户下的 __all_table 表的对象元数据信息是直接引用了系统租户的 __all_table 表,而系统租户的 __all_table 表的对象元数据信息是存储在 __all_core_table 表中,__all_core_table 的表结构为硬编码。
最后修改时间:2022-09-08 09:51:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




