为保障集群的稳定及安全,云原生数据仓库AnalyticDB MySQL版有以下使用限制。

命名约束

AnalyticDB MySQL版中的命名约束如下。
对象 命名规则
数据库名
  • 长度不超过64个字符。
  • 以小写字符开头。
  • 可包含字母、数字以及下划线(_)。
  • 不能包含连续两个及以上的下划线(_)。
  • 不能是analyticdb,analyticdb是内置数据库。
表名
  • 长度为1~127个字符。
  • 以字母或下划线(_)开头。
  • 可包含字母、数字以及下划线(_)。
  • 不能包含引号、感叹号(!)和空格。
  • 不能是SQL保留关键字。
列名
  • 长度为1~127个字符。
  • 以字母或下划线(_)开头。
  • 可包含字母、数字以及下划线(_)。
  • 不能包含引号、感叹号(!)和空格。
  • 不能是SQL保留关键字。
索引名 长度不能超过64个字符。
账号名
  • 长度为2~16个字符。
  • 以小写字母开头。
  • 以小写字母或数字结尾。
  • 可包含小字母、数字以及下划线(_)。
密码
  • 长度为8~32个字符。
  • 至少包含大写字母、小写字母、数字以及特殊字符中的三项。
  • 特殊字符为!@#¥%^&*()_+-=

集群配额

限制 默认值 说明
每个阿里云账号可购买集群数量的最大值 64
每个集群可创建数据库的最大值 2048
每天集群扩容、缩容或变配的总次数 12
预留模式集群版节点磁盘空间阈值 90% 超过阈值后,集群会锁定,数据无法写入。
弹性模式集群一组弹性IO资源的热数据量最大值 4 TB 一组弹性IO资源的热数据量超过4 TB时,集群会锁定,数据无法写入。解决办法,请参见如何处理集群锁定问题
每个集群可创建普通账号的最大值 256
每个集群的最大连接数 5000
每个集群中的白名单分组的最大值 50
每个白名单分组中IP个数的最大值 1000
每个集群中IP白名单个数的最大值 25000
每个集群中分区数的最大值 102400
每个预留模式集群(具备1~20个节点组)中表数量的最大值 5000 支持通过扩容节点数量的方法增加预留模式集群表数量的最大值,详情请参见变更集群配置(数仓版)
每个弹性模式集群中内表数量的最大值 [80000/(Shard个数/EIU个数)]*2
  • 支持通过扩容EIU数量的方式增加弹性集群内表数量的最大值,详情请参见弹性IO资源(EIU)扩容
  • 可通过SQL语句查询Shard个数,SELECT count(1) FROM information_schema.kepler_meta_shards;
  • 公式中的Shard个数/EIU个数向上取整。
每个弹性模式集群中外表数量的最大值 50万张
每张表中列数的最大值 4096
表中COMMENT最大长度 1024个字符
列中COMMENT最大长度 1024个字符
每列的最大长度 16 MB
每行写入数据的最大长度 16 MB
列默认值长度 127个字符
每个查询包含的列数的最大值 1024
WHERE条件中ITEM最大值 256
IN中条件数的最大值 2000 可以根据需求调整参数大小,SET adb_config MAX_IN_ITEMS_COUNT=3000;

参数调整过大时,SQL过于复杂会影响查询性能。

超时说明

操作 时间限制(ms) 超时说明
创建集群 600000
删除集群 300000
扩容集群 600000
创建数据库 10000
删除数据库 10000
创建表或视图 10000
删除表或视图 10000
清空表(TRUNCATE TABLE) 60000
新增列 10000
删除列 60000
更新列 60000
单次查询 1800000 单次查询的执行超时时间。超时后,系统自动终止查询。
配置以下参数,可以修改单次查询的执行超时时间。
  • 配置名:QUERY_TIMEOUT
  • Hint的形式:query_timeout
说明 检测查询超时的线程执行频率为1000ms/次,设置单次查询时间需大于1000ms,否则可能会不生效。
写入数据(INSERT INTO) 300000
  • INSERT SELECT FROM
  • INSERT UPDATE FROM
  • INSERT DELETE FROM
24*3600000 执行超时时间。超时后,系统自动终止执行。
配置以下参数,可以修改SQL语句的执行超时时间。
  • 配置名:INSERT_SELECT_TIMEOUT
  • Hint的形式:insert_select_timeout