暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【OceanBase】系统租户详解

4349

系统租户
系统租户也称为 sys 租户,是 OceanBase 数据库的系统内置租户。

系统租户主要有以下几个功能:

  • 系统租户承载了所有租户的元信息存储和管理服务。例如,系统租户下存储了所有普通租户系统表的对象元数据信息和位置信息。
  • 系统租户是分布式集群集中式策略的执行者。例如,只有在系统租户下,才可以执行轮转合并、删除或创建普通租户、修改系统配置项、资源负载均衡、自动容灾处理等操作。
  • 系统租户管理和维护集群资源。例如,系统租户下存储了集群中所有 OBServer 的信息和Zone 的信息。
系统租户在集群自举过程中创建,系统租户信息和资源的管理都是在 RootService 服务上完成,RootService简称 RS,是启动在系统租户下 __all_core_table 表上主副本上的一组服务, __all_core_table 是系统的 1 号表,系统中所有的表都可以通过 1 号表索引到。


系统表分类
系统租户是一个 MySQL 兼容租户,系统租户下的系统表主要分为以下几类:

  • 对象元数据表
系统租户下存储了所有系统表的元数据。例如, __all_core_table 中存储了 __all_table 表的元数据, __all_table 表中存储了其他系统表的元数据。
  • 分区位置信息表
系统租户存储了系统表的位置信息。例如, __all_core_table 中存储了 __all_root_table 的位置信息, __all_root_table 中记录了其他系统表的位置信息。
  • 集群资源相关表
系统租户维护了所有机器的位置信息和分布信息。例如,在 __all_zone 表中记录了所有 Zone 的信息,在 __all_server 表中维护了 OBServer 的信息。
  • 租户元信息和资源相关表
在系统租户下可以看到所有租户的元数据信息。例如,在 __all_tenant 表中可以看到集群中所有的租户以及租户的分布信息。

RS 服务
RootService 的功能主要包括集群自举、集群资源管理、DDL 操作以及分布式集群集中式策略执行。
RootService 各功能的特点如下:

  • 集群自举
集群自举是在 OBServer 启动成功后,创建系统租户和初始化配置的过程,也称 Bootstrap。
系统自举时需要指定 RootService 的位置信息,Bootstrap 命令在 RootService 位置上创建 __all_core_table 。 __all_core_table 的 Leader 所在的 OBServer 自动提供 RootService 服务。RS 启动后就可以创建系统租户、系统表、初始系统数据和集群配置。
  • 集群资源管理
集群资源管理主要包括:

1. Zone 的管理
在系统租户下,可以新增一个 Zone,删除一个 Zone、修改 Zone 的信息,或者停止一个 Zone 的服务。

2. Unit 管理
Unit 是资源的最小分隔单位。一组 Unit 构成一个资源池,一个资源池可以被分配给一个租户,一个租户可以有多个资源池。在系统租户下,用户可以通过调整 Unit 规格来调整资源池大小从而调整租户资源。
通过调整 Unit 规格来调整租户资源的详细介绍信息请参见 租户资源垂直扩缩容。

3. OBServer 管理
每个 OBServer 都需要通过心跳来与 RS 保持通信。RS 会根据心跳信息感知 OBServer 是否在线以及是否可以提供服务。系统租户下可以进行 OBServer 的增加、删除或者停止服务等操作。

  • DDL 操作
所有的 DDL 操作都会在 RS 上执行。

  • 分布式系统集中式策略执行
主要包括:
1. 主备库集群角色切换
OceanBase 集群包括一个主集群和多个备集群,可以在系统租户下操作无损切换和有损切换。
2. 合并管理
在系统租户下维护各个版本的合并信息,RS 会根据这些信息进行合并调度。
3. 集群级配置项只能在系统租户下修改
例如: enable_rebalance 、 enable_rereplication 等。
4. 租户管理

在系统租户下可以增加、修改和删除普通租户。


高级特性
除了上述特点外,系统租户还具备以下高级特性:

  • 全局虚拟表
系统租户是一个 MySQL 兼容租户,相关视图与 MySQL 兼容。但是在系统租户下存在一些全局视图,例如,系统租户下的 __all_virtual_meta_table 表可以查询到所有租户下 __all_tenant_meta_table 表的内容; __all_virtual_ddl_operation 表可以查询到所有租户下 __all_ddl_operation 表的内容。
  • ALTER SYSTEM 命令
ALTER SYSTEM 命令一般用于集群级别的操作,例如主备库切换、配置项修改等。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论