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

简介: OceanBase数据库采用多租户架构,支持云数据库部署。租户是资源分配单位,分为系统租户、用户租户和Meta租户。系统租户管理集群生命周期,用户租户提供完整数据库功能(支持MySQL和Oracle模式),Meta租户存储用户租户的私有数据。多租户架构降低运维复杂度,支持多种部署形式,确保数据隔离与安全。

b359.png

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


视频讲解如下:


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


一、 OceanBase的多租户架构


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

image.png


二、 租户的类型


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: 1
               TENANT_NAME: sys
               TENANT_TYPE: SYS
               CREATE_TIME: 2025-03-27 19:15:03.296223
               MODIFY_TIME: 2025-03-27 19:15:03.296223
              PRIMARY_ZONE: RANDOM
                  LOCALITY: FULL{1}@zone1
         PREVIOUS_LOCALITY: NULL
        COMPATIBILITY_MODE: MYSQL
                    STATUS: NORMAL
             IN_RECYCLEBIN: NO
                    LOCKED: NO
               TENANT_ROLE: PRIMARY
         SWITCHOVER_STATUS: NORMAL
          SWITCHOVER_EPOCH: 0
                  SYNC_SCN: NULL
            REPLAYABLE_SCN: NULL
              READABLE_SCN: NULL
        RECOVERY_UNTIL_SCN: NULL
                  LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
                  UNIT_NUM: 1
                COMPATIBLE: 4.3.5.1
                 MAX_LS_ID: 1
         RESTORE_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: 1016
               TENANT_NAME: my_tenant
               TENANT_TYPE: USER
               CREATE_TIME: 2025-04-07 13:20:51.142028
               MODIFY_TIME: 2025-04-07 13:21:18.355210
              PRIMARY_ZONE: RANDOM
                  LOCALITY: FULL{1}@zone1
         PREVIOUS_LOCALITY: NULL
        COMPATIBILITY_MODE: MYSQL
                    STATUS: NORMAL
             IN_RECYCLEBIN: NO
                    LOCKED: NO
               TENANT_ROLE: PRIMARY
         SWITCHOVER_STATUS: NORMAL
          SWITCHOVER_EPOCH: 0
                  SYNC_SCN: 1744171442450188001
            REPLAYABLE_SCN: 1744171442450188001
              READABLE_SCN: 1744171442450188000
        RECOVERY_UNTIL_SCN: 4611686018427387903
                  LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
                  UNIT_NUM: 1
                COMPATIBLE: 4.3.5.1
                 MAX_LS_ID: 1001
         RESTORE_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: 1015
               TENANT_NAME: META$1016
               TENANT_TYPE: META
               CREATE_TIME: 2025-04-07 13:20:51.140850
               MODIFY_TIME: 2025-04-07 13:21:18.229272
              PRIMARY_ZONE: RANDOM
                  LOCALITY: FULL{1}@zone1
         PREVIOUS_LOCALITY: NULL
        COMPATIBILITY_MODE: MYSQL
                    STATUS: NORMAL
             IN_RECYCLEBIN: NO
                    LOCKED: NO
               TENANT_ROLE: PRIMARY
         SWITCHOVER_STATUS: NORMAL
          SWITCHOVER_EPOCH: 0
                  SYNC_SCN: NULL
            REPLAYABLE_SCN: NULL
              READABLE_SCN: NULL
        RECOVERY_UNTIL_SCN: NULL
                  LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
                  UNIT_NUM: 1
                COMPATIBLE: 4.3.5.1
                 MAX_LS_ID: 1
         RESTORE_DATA_MODE: NORMAL
1 row in set (0.016 sec)





相关文章
|
Oracle 关系型数据库 数据库
OceanBase数据库常见问题之租户创建后想要改字符集如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
SQL 关系型数据库 数据库
OceanBase数据库常见问题之录入租户管理员密码时,提示密码检验失败如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
6月前
|
存储 SQL 数据库
【赵渝强老师】OceanBase的部署架构
OceanBase数据库支持两种部署架构:无共享(Shared-Nothing,SN)模式和共享存储(Shared-Storage,SS)模式。SN模式下,各节点对等,具备高扩展性、可用性和性能,运行于普通PC服务器集群;SS模式采用存算分离架构,租户数据存储在共享对象存储上,本地缓存热点数据。两种模式均支持高可用与多副本一致性,适用于不同业务场景。
408 1
|
4月前
|
数据库 数据中心 OceanBase
【赵渝强老师】OceanBase租户的资源管理
OceanBase数据库支持多租户架构,通过资源配置(Unit Config)、资源单元(Unit)和资源池(Resource Pool)实现资源隔离与管理。用户可灵活定义资源规格,分配CPU、内存等资源,并通过资源池管理租户资源分配,提升系统资源利用率和管理效率。
135 0
|
5月前
|
运维 关系型数据库 测试技术
【赵渝强老师】OceanBase部署工具
OceanBase是一款开源的国产分布式关系型数据库,支持通过obd和OCP部署数据库集群。obd(OceanBase Deployer)是OceanBase的安装部署工具,提供命令行和白屏界面两种方式,简化复杂配置流程,降低集群部署难度,并集成包管理、压测软件、集群管理等功能。OCP(OceanBase Cloud Platform)则面向中小型用户,提供主机管理、集群和租户运维等能力。文档详细介绍了obd的在线与离线安装方法、快速体验OceanBase的步骤,以及OCP的基本功能和主页面展示。
391 7
【赵渝强老师】OceanBase部署工具
|
5月前
|
运维 关系型数据库 数据库
【赵渝强老师】OceanBase云平台OCP
OceanBase数据库的OCP(OceanBase Cloud Platform)是面向中小型用户的云数据库管理平台,提供主机管理、集群及租户运维功能。其核心组件包括MetaDB和OCP Server,支持OceanBase数据库的全生命周期管理。本文介绍了使用root用户部署OCP的具体步骤,涵盖配置MetaDB、OCP节点、密码设置等内容,并附有操作界面截图与视频讲解,帮助用户快速完成部署并登录使用。
121 9
|
5月前
|
SQL 缓存 自然语言处理
【赵渝强老师】OceanBase OBServer节点的SQL层
OceanBase OBServer节点的SQL层将用户的SQL请求转化为对Tablet的数据访问。整个处理流程包括Parser、Resolver、Transformer、Optimizer、CodeGenerator和Executor六大组件,依次完成词法解析、语义解析、逻辑改写、执行计划优化、代码生成及执行任务。同时,SQL层还支持Plan Cache功能,缓存历史执行计划以提升后续查询效率。视频讲解和图示展示了完整的SQL执行过程。
|
5月前
|
存储 SQL 数据库
【赵渝强老师】OceanBase OBServer节点的存储层
OceanBase集群的OBServer实例内部由多个组件协作完成数据存储与管理。其存储层采用分层结构,包括MemTable、L0 Mini SSTable、L1 Minor SSTable和Major SSTable,支持高效的数据写入与读取。数据以Tablet为单位存储,DML操作先写入内存,再逐步落盘并合并优化。文章还附有图示与视频讲解,帮助理解数据写入流程及存储机制。
112 4
|
5月前
|
运维 监控 测试技术
【赵渝强老师】使用obd快速体验OceanBase
OceanBase Deployer (obd) 是 OceanBase 数据库的安装部署工具,支持命令行与白屏界面两种方式。通过标准化复杂配置流程,降低集群部署难度。命令行适合深度用户,白屏界面便于快速体验。obd 还提供包管理、压测、集群管理等运维功能。文中详细介绍了使用 obd 部署 OceanBase 数据库集群的步骤,包括执行命令、连接数据库、查看信息及监控页面访问等内容,并附有视频讲解和示例输出。
156 1
|
5月前
|
存储 OceanBase
【赵渝强老师】OceanBase OBServer节点的目录结构
本文介绍了OceanBase OBServer节点的工作目录结构,包括必需的配置、日志和数据文件目录,以及各目录的作用与管理方式。
121 0

推荐镜像

更多