zone_list区别

mysql> help create resource pool
Name: 'CREATE RESOURCE POOL'
Description:

  语法:

  CREATE RESOURCE POOL poolname 
   UNIT [=] unitname, 
   UNIT_NUM [=] unitnum, 
   ZONE_LIST [=] ('zone' [, 'zone'...]);
mysql> help create tenant
Name: 'CREATE TENANT'
Description:

  语法:

  CREATE TENANT [IF NOT EXISTS] tenantname 
     [tenant_characteristic_list]
     [tenant_variables_list]

  tenant_characteristic_list: 
    tenant_characteristic [, tenant_characteristic...]

  tenant_characteristic: 
    COMMENT 'string' 
    | {CHARACTER SET | CHARSET} [=] value 
    | REPLICA_NUM [=] num 
    | ZONE_LIST [=] (zone [, zoneu2026]) 
    | PRIMARY_ZONE [=] zone
    | RESOURCE_POOL_LIST [=] (poolname) 
    | {READ ONLY | READ WRITE} 

  tenant_variables_list: 
    SET sys_variables_list 
    | SET VARIABLES sys_variables_list 
    | VARIABLES sys_variables_list 

  sys_variables_list: 
    sys_variables [, sys_variables...] 

  sys_variables: 
    sys_variable_name = expr 
  
  如果要创建的租户名已存在,并且没有指定IF NOT EXISTS,则会出现错误。

  租户名的合法性和变量名一致,最长64个字节,字符只能有大小写英文字母,数字和下划线,而且必须以字母或下划线开头,并且不能OceanBase的关键字。

  只有用root用户连接根到租户(root@ROOT)才能执行CREATE TENANT去创建租户。

  说明:RESOURCE_POOL_LIST为创建租户时的必填项。

create resource pool命令中zone_list项和create tenant中的zone_list选项有什么区别?

@论坛小助手

在OceanBase中,CREATE RESOURCE POOLCREATE TENANT 两个命令都涉及到 ZONE_LIST 参数,但是它们的含义和作用是有区别的。

  1. CREATE RESOURCE POOL 中的 ZONE_LIST:这个参数用于定义资源池所在的Zone列表。当创建一个资源池时,可以指定该资源池可以在哪些Zone上分配资源单元(Unit)。每个资源单元会在这些Zone中的一个上创建,具体取决于资源池的配置和集群的状态。资源池的 ZONE_LIST 定义了资源池可以使用的Zone范围。

  2. CREATE TENANT 中的 ZONE_LIST:此参数则定义了租户的主Zone列表,用于指定租户的副本应该优先放置在哪几个Zone。租户的 ZONE_LIST 参数影响租户的数据分布策略,比如高可用性或数据本地化等需求。注意,租户的 ZONE_LIST 并不是直接指定资源池的位置,而是用于指导租户的数据副本分布。

简单来说,CREATE RESOURCE POOLZONE_LIST 关注的是资源分配的位置,而 CREATE TENANTZONE_LIST 关注的是租户的数据副本如何在这些位置上分布。

具体信息可参考以下文档:

  1. 租户的资源管理
  2. 将资源池分配给租户
  3. 进行 Sysbench 测试
  4. 进行 TPC-C 测试

这里讲错了吧,PRIMARY_ZONE 才是指定数据分布的

:+1: :+1:


小助手回答的有问题 创建租户的信息里没有这个zone_list选项 你的ob版本是哪个 你在哪看到的

mysql> select version();
+------------------------------+
| version()                    |
+------------------------------+
| 5.7.25-OceanBase_CE-v4.2.1.8 |
+------------------------------+
1 row in set (0.01 sec)

嗯嗯 创建租户的命令中是没有ZONE_LIST这个参数的 mysql客户端是哪一个

你这个版本 create tenant zone_list 应该废弃了。