110 lines
2.4 KiB
Markdown
110 lines
2.4 KiB
Markdown
概述
|
|
=======================
|
|
|
|
|
|
|
|
**内部表定义**
|
|
|
|
OceanBase 数据库内部表包含了以下几类:
|
|
|
|
* 核心系统表(简称核心表)
|
|
|
|
|
|
|
|
* 普通系统表
|
|
|
|
|
|
|
|
* 虚拟表
|
|
|
|
|
|
|
|
* `Information_Schema` 表
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**多租户**
|
|
|
|
OceanBase 数据库为多租户架构,租户分为两种类型:普通租户以及 `sys` 租户。OceanBase 数据库系统表都存储在 `sys` 租户,且主键中存储租户号(`tenant_id`),区分每个租户的内容。每个租户内部创建一个该租户数据的只读视图。
|
|
|
|
引入多租户后,系统表格命名如下:
|
|
|
|
* 所有以 `__all `开头的表格包含所有租户的数据,所有以` __tenant` 开头的表格仅包含单个租户内部的数据。
|
|
|
|
|
|
|
|
* 虚拟表的前缀分别为 `__all_virtual `以及 `__tenant_virtual`。
|
|
|
|
例如,`__all_virtual_session_variable` 包含所有租户的 Session 变量信息,且内部实现为虚拟表;而`__tenant_virtual_session_variable` 只包含单个租户的 Session 变量信息,内部实现为虚拟表。
|
|
|
|
|
|
|
|
|
|
|
|
`s``ys` 租户和普通租户包含的系统表说明如下:
|
|
|
|
* sys 租户
|
|
|
|
* 核心表
|
|
|
|
包括 `__all_core_table`、`__all_root_table`、`__all_table`、`__all_column`、`__all_database`、 `__all_tablegroup`、`__all_tenant`、以及 `__all_ddl_operation`。
|
|
|
|
|
|
* 模式及用户权限表
|
|
|
|
除了 `__all_table`、`__all_column`,还包括` __all_part`、`__all_database`、`__all_tablegroup` 以及 `__all_user`、`__all_table_privilege`、`__all_database_privilege`。
|
|
|
|
|
|
* 分表位置信息表
|
|
|
|
分为两级,第一级为 `__all_root_table`,不可分区;第二级为 `__all_meta_table`。
|
|
|
|
所有系统表的位置信息都记录在 `__all_root_table` 中。
|
|
|
|
|
|
* 租户、Resource Pool、Unit 相关的系统表
|
|
|
|
|
|
|
|
* Zone 和服务器等部署相关的系统表
|
|
|
|
|
|
|
|
* 系统配置相关的表:`__all_sys_parameter`
|
|
|
|
|
|
|
|
* 系统变量及系统状态相关的表:`__all_sys_variable`、`__all_sys_stat`
|
|
|
|
|
|
|
|
* DDL 操作相关的表:` __all_ddl_operation`
|
|
|
|
|
|
|
|
* 其它表,例如各种统计信息以及为了实现某个功能而加入的系统表
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 普通租户
|
|
|
|
* 以 `__tenant` 作为表名前缀的只读视图,表示租户内信息
|
|
|
|
|
|
|
|
* `Information_schema`:SQL 标准定义的 `information_schema` 视图,是其它系统表的视图。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|