当前位置: 首页 > news >正文

【赵渝强老师】OceanBase中的租户

1

租户是一个逻辑概念。在OceanBase数据库中,租户是资源分配的单位,是数据库对象管理和资源管理的基础,对于系统运维,尤其是对于云数据库的运维有着重要的影响。租户在一定程度上相当于传统数据库的"实例"概念。租户之间是完全隔离的。在数据安全方面,OceanBase数据库不允许跨租户的数据访问,以确保用户的数据资产没有被其他租户窃取的风险。在资源使用方面,OceanBase数据库表现为租户"独占"其资源配额。总体上来说,租户(tenant)既是各类数据库对象的容器,又是资源(CPU、Memory、IO等)的容器。

image.png
点击这里查看视频讲解:【赵渝强老师】OceanBase中的租户

一个租户可以看成是一个数据库实例。OceanBase数据库在一个系统中可同时支持MySQL模式和Oracle模式两种模式的租户。用户在创建租户时,可选择创建MySQL兼容模式的租户或Oracle兼容模式的租户,租户的兼容模式一经确定就无法更改,所有数据类型、SQL功能、视图等相应地与MySQL数据库或Oracle数据库保持一致。OceanBase数据库社区版仅提供了MySQL模式的租户。

一、 OceanBase的多租户架构

OceanBase数据库采用了多租户架构。多租户架构适用于资源整合、SaaS服务等场景,同时也降低了运维复杂度。OceanBase数据库采用了单集群多租户设计,天然支持云数据库架构,支持公有云、私有云、混合云等多种部署形式。OceanBase的多租户架构如下图所示:

2

二、 租户的类型

OceanBase数据库是多租户架构。在V4.0.0版本之前,仅支持两种类型的租户:系统租户和用户租户。从V4.0.0版本开始,引入了Meta租户概念。因此,当前版本对用户可见的租户有三种类型:系统租户、用户租户以及Meta租户。

2.1 系统租户

系统租户是集群默认创建的租户,与集群的生命周期一致,负责管理集群和所有租户的生命周期。系统租户仅有一个1号日志流,仅支持单点写入,不具备扩展能力。系统租户可以创建用户表,所有的用户表和系统表数据均由1号日志流服务。系统租户的数据是集群私有的,不支持主备集群物理同步和物理备份恢复。系统租户定位于集群管理和租户管理,不提供完整的数据库功能,不推荐在生产或业务测试等场合使用。通过DBA_OB_TENANTS视图,可以查看系统租户的信息。

ob> use oceanbase;
ob> select * from dba_ob_tenants where tenant_type='sys' \G;# 输出的信息如下:
*************************** 1. row ***************************TENANT_ID: 1TENANT_NAME: sysTENANT_TYPE: SYSCREATE_TIME: 2025-03-27 19:15:03.296223MODIFY_TIME: 2025-03-27 19:15:03.296223PRIMARY_ZONE: RANDOMLOCALITY: FULL{1}@zone1PREVIOUS_LOCALITY: NULLCOMPATIBILITY_MODE: MYSQLSTATUS: NORMALIN_RECYCLEBIN: NOLOCKED: NOTENANT_ROLE: PRIMARYSWITCHOVER_STATUS: NORMALSWITCHOVER_EPOCH: 0SYNC_SCN: NULLREPLAYABLE_SCN: NULLREADABLE_SCN: NULLRECOVERY_UNTIL_SCN: NULLLOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLEDUNIT_NUM: 1COMPATIBLE: 4.3.5.1MAX_LS_ID: 1RESTORE_DATA_MODE: NORMAL
1 row in set (0.126 sec)

2.2 用户租户

用户租户是由用户创建的租户,对外提供完整的数据库功能,支持MySQL和Oracle两种兼容模式。用户租户支持服务能力水平扩展到多台机器上,支持动态扩容和缩容,内部会根据用户的配置自动创建和删除日志流。用户租户的数据有更强的数据保护和可用性要求,支持跨集群物理同步和物理备份恢复,典型数据包括:Schema数据、用户表数据及事务数据等。OceanBase数据库社区版仅提供了MySQL模式租户;OceanBase数据库企业版提供MySQL模式租户和Oracle模式租户。通过下面的查询语句可以获取用户租户的详细信息。

ob> use oceanbase;
ob> select * from dba_ob_tenants where tenant_type='user' \G;# 输出的信息如下:
*************************** 1. row ***************************TENANT_ID: 1016TENANT_NAME: my_tenantTENANT_TYPE: USERCREATE_TIME: 2025-04-07 13:20:51.142028MODIFY_TIME: 2025-04-07 13:21:18.355210PRIMARY_ZONE: RANDOMLOCALITY: FULL{1}@zone1PREVIOUS_LOCALITY: NULLCOMPATIBILITY_MODE: MYSQLSTATUS: NORMALIN_RECYCLEBIN: NOLOCKED: NOTENANT_ROLE: PRIMARYSWITCHOVER_STATUS: NORMALSWITCHOVER_EPOCH: 0SYNC_SCN: 1744171442450188001REPLAYABLE_SCN: 1744171442450188001READABLE_SCN: 1744171442450188000RECOVERY_UNTIL_SCN: 4611686018427387903LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLEDUNIT_NUM: 1COMPATIBLE: 4.3.5.1MAX_LS_ID: 1001RESTORE_DATA_MODE: NORMAL# 提示:通过COMPATIBILITY_MODE字段可以看出my_tenant是一个MySQL模式的租户。

2.3 Meta租户

Meta租户是OceanBase数据库内部自管理的租户,每创建一个用户租户系统就会自动创建一个对应的Meta租户,其生命周期与用户租户保持一致。Meta租户用于存储和管理用户租户的集群私有数据,这部分数据不需要进行跨库物理同步以及物理备份恢复,这些数据包括:配置项、位置信息、副本信息、日志流状态、备份恢复相关信息、合并信息等。通过下面的查询语句可以获取META租户的详细信息。

ob> use oceanbase;
ob> select * from dba_ob_tenants where tenant_type='meta' \G;# 输出的信息如下:
*************************** 1. row ***************************TENANT_ID: 1015TENANT_NAME: META$1016TENANT_TYPE: METACREATE_TIME: 2025-04-07 13:20:51.140850MODIFY_TIME: 2025-04-07 13:21:18.229272PRIMARY_ZONE: RANDOMLOCALITY: FULL{1}@zone1PREVIOUS_LOCALITY: NULLCOMPATIBILITY_MODE: MYSQLSTATUS: NORMALIN_RECYCLEBIN: NOLOCKED: NOTENANT_ROLE: PRIMARYSWITCHOVER_STATUS: NORMALSWITCHOVER_EPOCH: 0SYNC_SCN: NULLREPLAYABLE_SCN: NULLREADABLE_SCN: NULLRECOVERY_UNTIL_SCN: NULLLOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLEDUNIT_NUM: 1COMPATIBLE: 4.3.5.1MAX_LS_ID: 1RESTORE_DATA_MODE: NORMAL
1 row in set (0.016 sec)
http://www.rkmt.cn/news/109155.html

相关文章:

  • GPT-SoVITS安装包离线部署企业级语音系统的方案
  • 使用Miniconda高效管理Python环境
  • Qwen3-14B-Base:148亿参数如何重塑大模型效率
  • 13、系统设置全解析:从用户到管理员的全方位指南
  • Excalidraw日志收集方案:ELK栈整合实例
  • Qwen3-14B支持哪些GPU?显存需求全解析
  • Multi-Agent全面爆发!一文详解多智能体核心架构及LangGraph框架
  • GEO重大误区之六:中小企业买不起GEO
  • 制造业设备工厂如何实现8-10个SolidWorks三维设计人员共享一台高性能图形工作站
  • 2025 年 12 月谈话室防撞卫浴厂家权威推荐榜:安全守护与人性化设计的专业解决方案深度解析 - 品牌企业推荐师(官方)
  • 2025 年 12 月校服厂家权威推荐榜:匠心工艺与舒适面料,打造新时代校园风尚之选 - 品牌企业推荐师(官方)
  • DeepSeek-V3模型转换与部署实战指南:从理论到生产级应用的完整流程
  • CopyQ剪贴板管理器终极配置指南:打造高效工作流
  • LangFlow可视化构建LLM工作流,零代码开发AI智能体
  • Miniconda + conda-forge:AI开发环境管理指南
  • Dify智能体平台联动Anything-LLM实现多智能体知识共享
  • 2025年热门的切铜圆锯机行业内知名厂家排行榜 - 品牌宣传支持者
  • XGW-9000 网关 DDR4/LPDDR4 内存子系统信号完整性仿真细化设计
  • Excalidraw SSO单点登录配置教程(企业微信/钉钉)
  • 【赵渝强老师】TiDB表数据与键值对的映射关系
  • 音频升级指南:用Python轻松实现立体声到多声道的华丽蜕变
  • 苏州仓储服务哪家强?这三家企业绝对让你满意!
  • HuggingFace镜像网站国内加速源配置助力Anything-LLM快速启动
  • 成分好的蛋白粉排名 哪款更适合全家日常营养补充与中老年精准补给 - 资讯焦点
  • Windows on Arm运行PyTorch-DirectML体验
  • 南京美国留学中介机构排名前十名_10大排名推荐 - 留学品牌推荐官
  • 震惊!苏州仓储服务公司大比拼,究竟谁能称王?
  • 南京研究生留学机构最火的机构有哪些 - 留学品牌推荐官
  • MATLAB从零开始实现短时傅里叶变换STFT
  • 23、Linux 系统中的任务调度与数学计算实用指南