使用限制
为保障集群的稳定及安全,云原生数据仓库 AnalyticDB MySQL 版有以下使用限制。
命名约束
对象  | 命名规则  | 
数据库名  | 
  | 
表名  | 
  | 
列名  | 
  | 
索引名  | 长度不能超过64个字符。  | 
账号名  | 
  | 
密码  | 
  | 
集群配额
限制  | 默认值  | 说明  | 
每个阿里云账号可购买集群数量的最大值  | 30  | 每个阿里云账号最多可购买30个集群。若您想修改该值,请提交工单联系技术支持。  | 
每个集群可创建数据库的最大值  | 2048  | 无  | 
每天集群扩容、缩容或变配的总次数  | 12  | 无  | 
数仓版预留模式集群节点磁盘空间阈值  | 80%  | 超过阈值后,集群会告警。一个用户一天最多收到4次磁盘空间超过阈值的告警。  | 
90%  | 超过阈值后,集群会告警,且集群会锁定,数据无法写入。一个用户一天最多收到4次磁盘空间超过阈值的告警。  | |
数仓版弹性模式集群一组弹性IO资源的热数据量最大值  | 8 TB  | 一组弹性IO资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容弹性IO资源。  | 
湖仓版集群一组存储预留资源的热数据量最大值  | 8 TB  | 一组存储预留资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容存储预留资源。  | 
企业版或基础版集群一组预留资源的热数据量最大值  | 8 TB  | 一组预留资源的热数据量超过8 TB时,集群会锁定,数据无法写入。解决办法:扩容预留资源。  | 
每个集群可创建普通账号的最大值  | 256  | 无  | 
每个集群的最大连接数  | 建议不超过50000  | AnalyticDB for MySQL集群的连接数没有限制,但与集群的规格相关。对于小规格的集群来说,连接数过多会导致资源不足,无法承载。  | 
每个集群中的白名单分组的最大值  | 50  | 无  | 
每个白名单分组中IP个数的最大值  | 1000  | 无  | 
每个集群中IP白名单个数的最大值  | 25000  | 无  | 
每个集群中分区数的最大值  | 102400  | AnalyticDB for MySQL集群中所有表的分区数之和不能超过102400。若集群中分区数超过102400,则不能再创建分区表。 您可以使用如下语句查询每个数据库中所有表的分区数:  | 
每个企业版或基础版集群中内表数量的最大值  | 
 
  | 提高内表数量上限的方法: 
  | 
每个湖仓版或数仓版弹性模式集群中内表数量的最大值  | 
 
  | 提高内表数量上限的方法: 
  | 
每个数仓版预留模式集群(具备1~20个节点组)中表数量的最大值  | 
  | 增加节点组数量可以提高数仓版预留模式集群内表数量的上限。  | 
每个集群中外表数量的最大值  | 50万张  | 无  | 
每张表中列数的最大值  | 4096  | 无  | 
分片(Shard)内单个分区存储数据量的最大值  | 21亿条  | 每个分片(Shard)内的单个分区最大可存储21亿条数据。  | 
表中COMMENT最大长度  | 1024个字符  | 无  | 
列中COMMENT最大长度  | 1024个字符  | 无  | 
每列中单个字段的最大长度  | 16 MB  | 无  | 
每行写入数据的最大长度  | 16 MB  | 无  | 
列默认值长度  | 127个字符  | 无  | 
每个查询包含的列数的最大值  | 1024  | 无  | 
WHERE条件中ITEM最大值  | 256  | 无  | 
IN中条件数的最大值  | 2000  | 调整参数值: 参数调整过大时,SQL过于复杂会影响查询性能。  | 
超时说明
操作  | 时间限制(ms)  | 超时说明  | 
创建集群  | 600000  | 无  | 
删除集群  | 300000  | 无  | 
扩容集群  | 600000  | 无  | 
创建数据库  | 10000  | 无  | 
删除数据库  | 10000  | 无  | 
创建表或视图  | 10000  | 无  | 
删除表或视图  | 10000  | 无  | 
清空表(TRUNCATE TABLE)  | 60000  | 无  | 
新增列  | 10000  | 无  | 
删除列  | 60000  | 无  | 
更新列  | 60000  | 无  | 
单次查询  | 1800000  | 单次查询的执行超时时间。超时后,系统自动终止查询。 配置以下参数,可以修改单次查询的执行超时时间。 
 说明  检测查询超时的线程执行频率为1000ms/次,设置单次查询时间需大于1000ms,否则可能会不生效。  | 
写入数据(INSERT INTO)  | 300000  | 无  | 
  | 24*3600000  | 执行超时时间。超时后,系统自动终止执行。 配置以下参数,可以修改SQL语句的执行超时时间。 
  | 
常见问题
集群的分片数就是表的分片数吗?
是的。假设集群的分片数是32,则表示表的分片数是32。
如何查询分片数(Shard个数)?
在创建AnalyticDB for MySQL集群时,Shard的数量就已确定。数仓版集群可以在创建后修改集群Shard个数,而企业版、基础版及湖仓版则不支持修改。
您可以参考下表,了解规格和Shard个数的对应关系。
企业版、基础版、湖仓版、数仓版弹性模式
预留资源组数/EIU组数/弹性IO资源组数
Shard个数
0、1
64
2~3
64
4~7
96
8~15
256
16~31
384
32~63
512
>=64
1024
说明企业版预留资源组数=预留资源节点数/3。
基础版预留资源组数=预留资源节点数。
湖仓版EIU组数=存储预留资源/24 ACU。
数仓版预留模式
节点组数
Shard个数
1
16
2~3
64
4~7
96
8~15
236
16~31
384
32~63
512
>64
1024
您也可以执行SQL查询集群的Shard个数:
SELECT count(1) FROM information_schema.kepler_meta_shards;。